<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 7.3.0">

  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.ico">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.ico">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">



<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha256-wiz7ZSCn/btzhjKDQBms9Hx4sSeUYsDrTLg7roPstac=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/5.0.28/fancybox/fancybox.css" integrity="sha256-6cQIC71/iBIYXFK+0RHAvwmjwWzkWd+r7v/BX3/vZDc=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/pace/1.2.4/themes/green/pace-theme-minimal.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pace/1.2.4/pace.min.js" integrity="sha256-gqd7YTjg/BtfqWSwsJOvndl0Bxc8gFImLEkXQT8+qj0=" crossorigin="anonymous"></script>

<script class="next-config" data-name="main" type="application/json">{"hostname":"sumumm.github.io","root":"/","images":"/images","scheme":"Gemini","darkmode":false,"version":"8.19.2","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12},"copycode":{"enable":true,"style":"mac"},"fold":{"enable":true,"height":300},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":true,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":true,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果：${query}","hits_time":"找到 ${hits} 个搜索结果（用时 ${time} 毫秒）","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false}}</script><script src="/js/config.js"></script>

    <meta name="description" content="本文主要是Linux——常用命令相关笔记，若笔记中有错误或者不合适的地方，欢迎批评指正😃。">
<meta property="og:type" content="article">
<meta property="og:title" content="LV02-01-Linux-04-常用命令">
<meta property="og:url" content="https://sumumm.github.io/post/fab0530e.html">
<meta property="og:site_name" content="苏木">
<meta property="og:description" content="本文主要是Linux——常用命令相关笔记，若笔记中有错误或者不合适的地方，欢迎批评指正😃。">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221018174753735.png">
<meta property="og:image" content="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221018174919290.png">
<meta property="og:image" content="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221020094556991.png">
<meta property="og:image" content="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221020094556999.png">
<meta property="article:published_time" content="2022-02-20T10:00:21.000Z">
<meta property="article:modified_time" content="2025-06-13T16:25:56.987Z">
<meta property="article:author" content="苏木">
<meta property="article:tag" content="LV02-编译基础">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221018174753735.png">


<link rel="canonical" href="https://sumumm.github.io/post/fab0530e.html">



<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://sumumm.github.io/post/fab0530e.html","path":"post/fab0530e.html","title":"LV02-01-Linux-04-常用命令"}</script>

<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>LV02-01-Linux-04-常用命令 | 苏木</title>
  








    <script src="/js/browser_tools_disable.js"></script>

  <noscript>
    <link rel="stylesheet" href="/css/noscript.css">
  </noscript>
<!-- hexo injector head_end start --><link rel="stylesheet" href="https://unpkg.com/hexo-next-tags-plus@latest/lib/tag_plus.css" media="defer" onload="this.media='all'"><!-- hexo injector head_end end --></head>

<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
  <div class="headband"></div>

  <main class="main">
    <div class="column">
      <header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏" role="button">
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <i class="logo-line"></i>
      <p class="site-title">苏木</p>
      <i class="logo-line"></i>
    </a>
      <p class="site-subtitle" itemprop="description">我的学习之路</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger" aria-label="搜索" role="button">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>



<nav class="site-nav">
  <ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>苏木的家</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类页<span class="badge">42</span></a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档页<span class="badge">673</span></a></li><li class="menu-item menu-item-flink"><a href="/flink/" rel="section"><i class="fa fa-link fa-fw"></i>友人帐</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于我</a></li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
        </a>
      </li>
  </ul>
</nav>



  <div class="search-pop-overlay">
    <div class="popup search-popup"><div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off" maxlength="80"
           placeholder="搜索..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close" role="button">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div class="search-result-container no-result">
  <div class="search-result-icon">
    <i class="fa fa-spinner fa-pulse fa-5x"></i>
  </div>
</div>

    </div>
  </div>

</header>
        
  
  <aside class="sidebar">

    <div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
      <ul class="sidebar-nav">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <div class="sidebar-panel-container">
        <!--noindex-->
        <div class="post-toc-wrap sidebar-panel">
            <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#%E4%B8%80%E3%80%81man%E5%91%BD%E4%BB%A4"><span class="nav-text">一、man命令</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-man%E6%89%8B%E5%86%8C%E5%AE%89%E8%A3%85"><span class="nav-text">1. man手册安装</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-man%E5%91%BD%E4%BB%A4"><span class="nav-text">2. man命令</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">2.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">2.2使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-1%E6%9F%A5%E8%AF%A2%E5%91%BD%E4%BB%A4%E7%9A%84%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3"><span class="nav-text">2.2.1查询命令的帮助文档</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-2%E6%9F%A5%E8%AF%A2%E6%9C%89%E5%93%AA%E4%BA%9B%E9%A1%B5%E6%9C%89%E5%B8%AE%E5%8A%A9%E4%BF%A1%E6%81%AF"><span class="nav-text">2.2.2查询有哪些页有帮助信息</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-%E5%B8%AE%E5%8A%A9%E4%BF%A1%E6%81%AF%E7%9A%84%E5%88%86%E7%B1%BB"><span class="nav-text">3.帮助信息的分类</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-%E5%85%B7%E4%BD%93%E5%B8%AE%E5%8A%A9%E9%A1%B5"><span class="nav-text">4.具体帮助页</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#%E4%BA%8C%E3%80%81%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86"><span class="nav-text">二、用户管理</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86"><span class="nav-text">1.基础知识</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E7%94%A8%E6%88%B7%EF%BC%9Awhoami"><span class="nav-text">2.查看当前用户：whoami </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">2.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">2.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-%E6%9F%A5%E7%9C%8B%E7%99%BB%E5%BD%95%E7%94%A8%E6%88%B7%EF%BC%9Awho"><span class="nav-text">3.查看登录用户：who </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#3-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">3.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#3-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">3.2使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#3-2-1%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E7%99%BB%E5%BD%95%E7%B3%BB%E7%BB%9F%E7%9A%84%E7%94%A8%E6%88%B7"><span class="nav-text">3.2.1显示当前登录系统的用户</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3-2-1%E6%98%BE%E7%A4%BA%E4%BF%A1%E6%81%AF%E5%B8%A6%E6%A0%87%E9%A2%98%E6%A0%8F"><span class="nav-text">3.2.1显示信息带标题栏</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#3-2-1%E6%98%BE%E7%A4%BA%E7%BB%88%E7%AB%AF%E5%B1%9E%E6%80%A7%E5%92%8C%E6%A0%87%E9%A2%98%E6%A0%8F"><span class="nav-text">3.2.1显示终端属性和标题栏</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-%E9%80%80%E5%87%BA%E7%99%BB%E5%BD%95%E8%B4%A6%E6%88%B7%EF%BC%9Aexit"><span class="nav-text">4.退出登录账户：exit </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#4-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">4.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">4.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7%E8%B4%A6%E5%8F%B7%EF%BC%9Auseradd%E3%80%81adduser"><span class="nav-text">5.添加用户账号：useradd、adduser </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#5-1%E4%B8%A4%E4%B8%AA%E5%91%BD%E4%BB%A4%E5%8C%BA%E5%88%AB"><span class="nav-text">5.1两个命令区别</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-2%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">5.2使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">5.3使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#5-3-1-useradd-%E5%AE%9E%E4%BE%8B"><span class="nav-text">5.3.1 useradd 实例</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#5-3-2-adduser-%E5%AE%9E%E4%BE%8B"><span class="nav-text">5.3.2 adduser 实例</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7%E5%AF%86%E7%A0%81%EF%BC%9Apasswd"><span class="nav-text">6.修改用户密码：passwd </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#6-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">6.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">6.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#7-%E5%88%A0%E9%99%A4%E7%94%A8%E6%88%B7%EF%BC%9Auserdel%E3%80%81deluser"><span class="nav-text">7.删除用户：userdel、deluser </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#7-1%E4%B8%A4%E4%B8%AA%E5%91%BD%E4%BB%A4%E5%8C%BA%E5%88%AB"><span class="nav-text">7.1两个命令区别</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#7-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">7.3使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#7-3-1-userdel-%E5%AE%9E%E4%BE%8B"><span class="nav-text">7.3.1 userdel 实例</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#7-3-2-deluser-%E5%AE%9E%E4%BE%8B"><span class="nav-text">7.3.2 deluser 实例</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#8-%E5%88%87%E6%8D%A2%E7%94%A8%E6%88%B7%EF%BC%9Asu"><span class="nav-text">8.切换用户：su </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#8-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">8.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#8-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">8.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#9-%E6%9F%A5%E7%9C%8B%E6%9C%89%E5%93%AA%E4%BA%9B%E7%94%A8%E6%88%B7%E7%BB%84"><span class="nav-text">9.查看有哪些用户组</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#10-%E6%9F%A5%E7%9C%8B%E7%94%A8%E6%88%B7%E5%9C%A8%E5%93%AA%E4%BA%9B%E7%BB%84%EF%BC%9Agroups"><span class="nav-text">10.查看用户在哪些组：groups </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#10-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">10.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#10-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">10.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#11-%E4%BF%AE%E6%94%B9%E7%94%A8%E6%88%B7%E5%B1%9E%E6%80%A7%EF%BC%9Ausermod"><span class="nav-text">11.修改用户属性：usermod </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#11-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">11.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#11-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">11.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#12-%E4%BF%AE%E6%94%B9%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%EF%BC%9Achmod"><span class="nav-text">12.修改文件权限：chmod </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#12-1%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E8%AF%B4%E6%98%8E"><span class="nav-text">12.1文件权限说明</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#12-2%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">12.2使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#12-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">12.3使用实例</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#%E4%B8%89%E3%80%81%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86"><span class="nav-text">三、进程管理</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-%E6%98%BE%E7%A4%BA%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%8A%A8%E6%80%81%EF%BC%9Aps"><span class="nav-text">1.显示进程的动态：ps </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#1-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">1.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#1-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">1.2使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-1%E6%9F%A5%E8%AF%A2%E6%8C%87%E5%AE%9A%E8%BF%9B%E7%A8%8B%E6%83%85%E5%86%B5"><span class="nav-text">1.2.1查询指定进程情况</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-2%E6%9F%A5%E7%9C%8B%E6%8C%87%E5%AE%9A%E7%94%A8%E6%88%B7%E7%9A%84%E8%BF%9B%E7%A8%8B"><span class="nav-text">1.2.2查看指定用户的进程</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-3%E6%9F%A5%E7%9C%8B%E6%8C%87%E5%AE%9A%E8%BF%9B%E7%A8%8B%E7%9A%84%E7%BA%BF%E7%A8%8B"><span class="nav-text">1.2.3查看指定进程的线程</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-4-ps-aux"><span class="nav-text">1.2.4 ps -aux</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-5-ps-le"><span class="nav-text">1.2.5 ps -le</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-6-ps-axjf"><span class="nav-text">1.2.6 ps -axjf</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#1-2-7-ps-eT"><span class="nav-text">1.2.7 ps -eT</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-%E5%AE%9E%E6%97%B6%E6%98%BE%E7%A4%BA%E8%BF%9B%E7%A8%8B%EF%BC%9Atop"><span class="nav-text">2.实时显示进程：top </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-2"><span class="nav-text">2.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2%E6%98%BE%E7%A4%BA%E4%BF%A1%E6%81%AF%E8%AF%A6%E8%A7%A3"><span class="nav-text">2.2显示信息详解</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-1-%E6%98%BE%E7%A4%BA%E4%BF%A1%E6%81%AF%E6%80%BB%E8%A7%88"><span class="nav-text">2.2.1 显示信息总览</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-2-%E7%B3%BB%E7%BB%9F%E7%8A%B6%E6%80%81"><span class="nav-text">2.2.2 系统状态</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-3-%E8%BF%9B%E7%A8%8B%E7%8A%B6%E6%80%81%E4%BF%A1%E6%81%AF"><span class="nav-text">2.2.3 进程状态信息</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-4-CPU%E5%8D%A0%E7%94%A8%E6%83%85%E5%86%B5"><span class="nav-text">2.2.4 CPU占用情况</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-5-Mem-%E5%86%85%E5%AD%98%E4%BF%A1%E6%81%AF%EF%BC%88%E7%89%A9%E7%90%86%E5%86%85%E5%AD%98%EF%BC%89"><span class="nav-text">2.2.5 Mem 内存信息（物理内存）</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-6-Swap-%E4%BA%A4%E6%8D%A2%E5%86%85%E5%AD%98%EF%BC%88%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98%EF%BC%89"><span class="nav-text">2.2.6 Swap 交换内存（虚拟内存）</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#2-2-7-%E8%BF%9B%E7%A8%8B%E4%BF%A1%E6%81%AF"><span class="nav-text">2.2.7 进程信息</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">2.3使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-%E4%BB%A5%E6%A0%91%E7%8A%B6%E5%9B%BE%E6%98%BE%E7%A4%BA%E8%BF%9B%E7%A8%8B%EF%BC%9Apstree"><span class="nav-text">3.以树状图显示进程：pstree  </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#3-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">3.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#3-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">3.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-%E7%BB%88%E6%AD%A2%E8%BF%9B%E7%A8%8B%EF%BC%9Akill"><span class="nav-text">4.终止进程：kill </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#4-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">4.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">4.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-%E6%9F%A5%E7%9C%8B%E8%BF%9B%E7%A8%8B%E5%A0%86%E6%A0%88%EF%BC%9Apstack"><span class="nav-text">5.查看进程堆栈：pstack </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#5-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">5.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-2%E5%AE%89%E8%A3%85%E4%B8%8E%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3"><span class="nav-text">5.2安装与问题解决</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">5.3使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-%E8%BF%9B%E7%A8%8B%E7%BA%BF%E7%A8%8B%E8%B0%83%E5%BA%A6%E5%92%8C%E4%BC%98%E5%85%88%E7%BA%A7%EF%BC%9Achrt"><span class="nav-text">6.进程线程调度和优先级：chrt</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#6-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">6.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">6.2使用实例</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#%E5%9B%9B%E3%80%81%E6%96%87%E4%BB%B6%E7%AE%A1%E7%90%86"><span class="nav-text">四、文件管理</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF%EF%BC%9Als"><span class="nav-text">1.查看文件信息：ls </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#1-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">1.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#1-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">1.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-%E8%BE%93%E5%87%BA%E9%87%8D%E5%AE%9A%E5%90%91%E5%91%BD%E4%BB%A4%EF%BC%9A"><span class="nav-text">2.输出重定向命令：&gt; </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-3"><span class="nav-text">2.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-2"><span class="nav-text">2.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-%E5%88%86%E5%B1%8F%E6%98%BE%E7%A4%BA%EF%BC%9Amore"><span class="nav-text">3.分屏显示：more </span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-%E7%AE%A1%E9%81%93%EF%BC%9A"><span class="nav-text">4.管道：| </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#4-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-2"><span class="nav-text">4.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-2"><span class="nav-text">4.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-%E6%B8%85%E5%B1%8F%EF%BC%9Aclear"><span class="nav-text">5.清屏：clear </span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-%E5%88%87%E6%8D%A2%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9Acd"><span class="nav-text">6.切换工作目录：cd </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#6-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-2"><span class="nav-text">6.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-2"><span class="nav-text">6.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#7-%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E8%B7%AF%E5%BE%84%EF%BC%9Apwd"><span class="nav-text">7.显示当前路径：pwd </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#7-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">7.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#7-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">7.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#8-%E5%88%9B%E5%BB%BA%E7%9B%AE%E5%BD%95%EF%BC%9Amkdir"><span class="nav-text">8.创建目录：mkdir </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#8-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">8.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#8-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">8.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#9-%E5%88%A0%E9%99%A4%E7%9B%AE%E5%BD%95%EF%BC%9A-rmdir"><span class="nav-text">9.删除目录： rmdir </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#9-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">9.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#9-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">9.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#10-%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%EF%BC%9Arm"><span class="nav-text">10.删除文件：rm </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#10-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">10.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#11-%E5%BB%BA%E7%AB%8B%E9%93%BE%E6%8E%A5%E6%96%87%E4%BB%B6%EF%BC%9Aln"><span class="nav-text">11.建立链接文件：ln </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#11-1%E8%BD%AF%E9%93%BE%E6%8E%A5%E4%B8%8E%E7%A1%AC%E9%93%BE%E6%8E%A5"><span class="nav-text">11.1软链接与硬链接</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#11-2%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">11.2使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#11-3%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">11.3使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#12-%E6%9F%A5%E7%9C%8B%E6%88%96%E8%80%85%E5%90%88%E5%B9%B6%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%EF%BC%9Acat%E3%80%81nl%E3%80%81head%E3%80%81tail"><span class="nav-text">12.查看或者合并文件内容：cat、nl、head、tail </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#12-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">12.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#12-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">12.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#13-%E6%96%87%E6%9C%AC%E6%90%9C%E7%B4%A2%EF%BC%9Agrep"><span class="nav-text">13.文本搜索：grep </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#13-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">13.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#13-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">13.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#14-%E6%9F%A5%E6%89%BE%E6%96%87%E4%BB%B6%EF%BC%9Afind"><span class="nav-text">14.查找文件：find </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#14-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">14.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#14-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">14.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#15-%E6%8B%B7%E8%B4%9D%E6%96%87%E4%BB%B6%EF%BC%9A-cp"><span class="nav-text">15.拷贝文件： cp </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#15-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">15.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#15-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">15.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#16-%E7%A7%BB%E5%8A%A8%E6%96%87%E4%BB%B6%EF%BC%9Amv"><span class="nav-text">16.移动文件：mv </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#16-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">16.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#16-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">16.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#17-%E5%BD%92%E6%A1%A3%E7%AE%A1%E7%90%86%EF%BC%9Atar"><span class="nav-text">17.归档管理：tar </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#17-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">17.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#17-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">17.2使用实例</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#17-2-1%E5%8E%8B%E7%BC%A9%E7%94%A8%E6%B3%95"><span class="nav-text">17.2.1压缩用法</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#17-2-2%E8%A7%A3%E5%8E%8B%E7%94%A8%E6%B3%95"><span class="nav-text">17.2.2解压用法</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#18-%E6%96%87%E4%BB%B6%E5%8E%8B%E7%BC%A9%E8%A7%A3%E5%8E%8B%EF%BC%9Agzip"><span class="nav-text">18.文件压缩解压：gzip </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#18-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">18.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#18-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">18.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#19-%E6%96%87%E4%BB%B6%E5%8E%8B%E7%BC%A9%E8%A7%A3%E5%8E%8B%EF%BC%9A-bzip2"><span class="nav-text">19.文件压缩解压： bzip2 </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#19-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">19.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#19-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">19.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#20-%E6%96%87%E4%BB%B6%E5%8E%8B%E7%BC%A9%E8%A7%A3%E5%8E%8B%EF%BC%9A-zip%E3%80%81unzip"><span class="nav-text">20.文件压缩解压： zip、unzip </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#20-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">20.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#20-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">20.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#21-%E6%9F%A5%E7%9C%8B%E5%91%BD%E4%BB%A4%E4%BD%8D%E7%BD%AE%EF%BC%9A-which"><span class="nav-text">21.查看命令位置： which </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#21-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">21.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#21-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">21.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#22-%E6%9F%A5%E7%9C%8B%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84%EF%BC%9A-tree"><span class="nav-text">22.查看目录结构： tree </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#22-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">22.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#22-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">22.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#23-%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%EF%BC%9A-file"><span class="nav-text">23.查看文件类型： file </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#23-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F"><span class="nav-text">23.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#23-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">23.2使用实例</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#%E4%BA%94%E3%80%81%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86"><span class="nav-text">五、系统管理</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-%E6%9F%A5%E7%9C%8B%E5%BD%93%E5%89%8D%E6%97%A5%E5%8E%86%EF%BC%9A-cal"><span class="nav-text">1.查看当前日历： cal </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#1-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-2"><span class="nav-text">1.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#1-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-2"><span class="nav-text">1.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-%E6%98%BE%E7%A4%BA%E6%88%96%E8%AE%BE%E7%BD%AE%E6%97%B6%E9%97%B4%EF%BC%9A-date"><span class="nav-text">2.显示或设置时间： date </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#2-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-4"><span class="nav-text">2.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-3"><span class="nav-text">2.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-%E5%85%B3%E6%9C%BA%E9%87%8D%E5%90%AF%EF%BC%9A-reboot%E3%80%81shutdown%E3%80%81init"><span class="nav-text">3.关机重启： reboot、shutdown、init </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#3-1-reboot"><span class="nav-text">3.1 reboot </span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#3-2-shutdown"><span class="nav-text">3.2 shutdown </span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#3-3-init"><span class="nav-text">3.3 init </span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-%E6%A3%80%E6%B5%8B%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%EF%BC%9A-df"><span class="nav-text">4.检测磁盘空间： df </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#4-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-3"><span class="nav-text">4.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#4-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-3"><span class="nav-text">4.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-%E6%A3%80%E6%B5%8B%E7%9B%AE%E5%BD%95%E6%89%80%E5%8D%A0%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%EF%BC%9A-du"><span class="nav-text">5.检测目录所占磁盘空间： du </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#5-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">5.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#5-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B"><span class="nav-text">5.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-%E6%9F%A5%E7%9C%8B%E6%88%96%E9%85%8D%E7%BD%AE%E7%BD%91%E5%8D%A1%E4%BF%A1%E6%81%AF%EF%BC%9A-ifconfig"><span class="nav-text">6.查看或配置网卡信息： ifconfig </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#6-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-3"><span class="nav-text">6.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#6-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-3"><span class="nav-text">6.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#7-%E6%B5%8B%E8%AF%95%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E8%BF%9E%E9%80%9A%E6%80%A7%EF%BC%9A-ping"><span class="nav-text">7.测试远程主机连通性： ping </span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#7-1%E4%BD%BF%E7%94%A8%E6%A0%BC%E5%BC%8F-1"><span class="nav-text">7.1使用格式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#7-2%E4%BD%BF%E7%94%A8%E5%AE%9E%E4%BE%8B-1"><span class="nav-text">7.2使用实例</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#7-3%E5%9B%BE%E5%BD%A2%E5%AD%97%E7%AC%A6%E7%95%8C%E9%9D%A2%E5%88%87%E6%8D%A2"><span class="nav-text">7.3图形字符界面切换</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#%E5%85%AD%E3%80%81%E8%BD%AF%E4%BB%B6%E6%93%8D%E4%BD%9C"><span class="nav-text">六、软件操作</span></a></li></ol></div>
        </div>
        <!--/noindex-->

        <div class="site-overview-wrap sidebar-panel">
          <div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="苏木"
      src="/images/avatar.jpg">
  <p class="site-author-name" itemprop="name">苏木</p>
  <div class="site-description" itemprop="description">莫道桑榆晚，为霞尚满天</div>
</div>
<div class="site-state-wrap animated">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
        <a href="/archives/">
          <span class="site-state-item-count">673</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
          <a href="/categories/">
        <span class="site-state-item-count">42</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
        <span class="site-state-item-count">43</span>
        <span class="site-state-item-name">标签</span>
      </div>
  </nav>
</div>
  <div class="links-of-author animated">
      <span class="links-of-author-item">
        <a href="https://github.com/sumumm" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;sumumm" rel="noopener me" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a>
      </span>
  </div>

        </div>
      </div>
    </div>

    
  </aside>


    </div>

    <div class="main-inner post posts-expand">


  


<div class="post-block">
  
  

  <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://sumumm.github.io/post/fab0530e.html">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.jpg">
      <meta itemprop="name" content="苏木">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="苏木">
      <meta itemprop="description" content="莫道桑榆晚，为霞尚满天">
    </span>

    <span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
      <meta itemprop="name" content="LV02-01-Linux-04-常用命令 | 苏木">
      <meta itemprop="description" content="">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          LV02-01-Linux-04-常用命令
        </h1>

        <div class="post-meta-container">
          <div class="post-meta">
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-calendar"></i>
      </span>
      <span class="post-meta-item-text">发表于</span>

      <time title="创建时间：2022-02-20 18:00:21" itemprop="dateCreated datePublished" datetime="2022-02-20T18:00:21+08:00">2022-02-20</time>
    </span>
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-folder"></i>
      </span>
      <span class="post-meta-item-text">分类于</span>
        <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
          <a href="/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/" itemprop="url" rel="index"><span itemprop="name">嵌入式开发</span></a>
        </span>
          ，
        <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
          <a href="/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/" itemprop="url" rel="index"><span itemprop="name">01HQ课程体系</span></a>
        </span>
          ，
        <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
          <a href="/categories/%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/" itemprop="url" rel="index"><span itemprop="name">LV02-编译基础</span></a>
        </span>
    </span>

  
    <span class="post-meta-break"></span>
    <span class="post-meta-item" title="本文字数">
      <span class="post-meta-item-icon">
        <i class="far fa-file-word"></i>
      </span>
      <span class="post-meta-item-text">本文字数：</span>
      <span>27k</span>
    </span>
    <span class="post-meta-item" title="阅读时长">
      <span class="post-meta-item-icon">
        <i class="far fa-clock"></i>
      </span>
      <span class="post-meta-item-text">阅读时长 &asymp;</span>
      <span>1:36</span>
    </span>
</div>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody"><p>本文主要是Linux——常用命令相关笔记，若笔记中有错误或者不合适的地方，欢迎批评指正😃。</p>
<span id="more"></span>

<!-- Photo: https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/ -->

<details class="folding-tag" blue><summary> 点击查看使用工具及版本 </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=150px>Windows</td>        <td align="left">windows11</td>    </tr>    <tr>        <td align="center">Ubuntu</td>        <td align="left">Ubuntu16.04的64位版本</td>      </tr>    <tr>        <td align="center">VMware® Workstation 16 Pro</td>        <td align="left">16.2.3 build-19376536</td>      </tr>    <tr>        <td align="center">SecureCRT</td>        <td align="left">Version 8.7.2 (x64 build 2214)   -   正式版-2020年5月14日</td>      </tr>    <tr>        <td align="center">开发板</td>        <td align="left">正点原子 i.MX6ULL Linux阿尔法开发板</td>      </tr>    <tr>        <td align="center">uboot</td>        <td align="left">NXP官方提供的uboot，NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)</td>      </tr>    <tr>        <td align="center">linux内核</td>        <td align="left">linux-4.15(NXP官方提供)</td>      </tr>    <tr>        <td align="center">STM32开发板</td>        <td align="left">正点原子战舰V3(STM32F103ZET6)</td>      </tr></table>
              </div>
            </details>

<details class="folding-tag" blue><summary> 点击查看本文参考资料 </summary>
              <div class='content'>
              <table>    <tr><td align="center">参考方向  </td><td align="center">参考原文</td></tr>    <tr><td align="left">---</td><td align="left"><a href="" target="_blank">--- <i class="fa fa-external-link-alt"></i> </a></td></tr></table>
              </div>
            </details>

<details class="folding-tag" blue><summary> 点击查看相关文件下载 </summary>
              <div class='content'>
              <table>    <tr>        <td align="center">---</td>        <td align="left">--- <a href="" target="_blank">  <i class="fa fa-external-link-alt"></i></a></td>      </tr></table>
              </div>
            </details>

<h1 id="一、man命令"><a href="#一、man命令" class="headerlink" title="一、man命令"></a><font size=3>一、man命令</font></h1><p>man是manual的简称，中文称之为手册。man手册是linux系统提供的一种帮助手册，通过这个命令我们可以得到一些帮助信息， 其内容包括命令语法、各选项的意义及相关命令 。更为强大的是，不仅可以查看Linux中命令的使用帮助，还可以查看软件服务配置文件、系统调用、库函数等帮助信息。man手册页文件存放在&#x2F;usr&#x2F;share&#x2F;man目录下。</p>
<h2 id="1-man手册安装"><a href="#1-man手册安装" class="headerlink" title="1. man手册安装"></a><font size=3>1. man手册安装</font></h2><p>通常来说，系统只会默认安装第 1 册的 man 手册，也就是查找 shell 命令的 man手册，若是发现自己的man手册有缺失，我们可以通过以下命令安装：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get install manpages</span><br><span class="line">sudo apt-get install manpages-dev</span><br><span class="line">sudo apt-get install manpages-posix</span><br><span class="line">sudo apt-get install manpages-posix-dev</span><br></pre></td></tr></table></figure>

<h2 id="2-man命令"><a href="#2-man命令" class="headerlink" title="2. man命令"></a><font size=3>2. man命令</font></h2><h3 id="2-1使用格式"><a href="#2-1使用格式" class="headerlink" title="2.1使用格式"></a><font size=3>2.1使用格式</font></h3><p>使用 man 命令可以找到特定的联机帮助页，并提供简短的命令说明。联机帮助页提供了指定命令 command_name 的相关信息，包括：名称、函数、语法以及可选参数描述等。无论帮助有多长，都遵循这个格式显示。在页面很多的情况下使用 PageUp 和 PageDown 键翻页。最后，使用 ：q 退出帮助页面。一般使用格式为:</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">man [option] &lt;name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：man 命令的一些选项，是可选的。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看常见 option 选项 </summary>
              <div class='content'>
              <table>    <tr><td align="center">option</td><td align="center">说明</td></tr>    <tr><td align="center">-a</td><td align="left">在所有的man帮助手册中搜索</td></tr>    <tr><td align="center">-f</td><td align="left">显示给定关键字的简短描述信息</td></tr>    <tr><td align="center">-p</td><td align="left">指定内容时使用分页程序</td></tr>    <tr><td align="center">-M</td><td align="left">指定man手册搜索的路径</td></tr>    <tr><td align="center">-w</td><td align="left">显示文件所在位置</td></tr></table>
              </div>
            </details>

<ul>
<li>name ：要查询的命令名称或者要查询的函数名等。</li>
</ul>
<h3 id="2-2使用实例"><a href="#2-2使用实例" class="headerlink" title="2.2使用实例"></a><font size=3>2.2使用实例</font></h3><h4 id="2-2-1查询命令的帮助文档"><a href="#2-2-1查询命令的帮助文档" class="headerlink" title="2.2.1查询命令的帮助文档"></a><font size=3>2.2.1查询命令的帮助文档</font></h4><p>我们在终端执行以下命令：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">man ls</span><br></pre></td></tr></table></figure>

<p>然后我们就会进入man手册，我们会得到以下信息：</p>
<img data-src="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221018174753735.png" alt="image-20221018174753735" style="zoom:50%;" />

<h4 id="2-2-2查询有哪些页有帮助信息"><a href="#2-2-2查询有哪些页有帮助信息" class="headerlink" title="2.2.2查询有哪些页有帮助信息"></a><font size=3>2.2.2查询有哪些页有帮助信息</font></h4><p>我们在终端执行以下命令：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">man -f read</span><br></pre></td></tr></table></figure>

<p>然后我们回的到以下信息：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ man -f read</span><br><span class="line">read (2)             - read from a file descriptor</span><br></pre></td></tr></table></figure>

<h2 id="3-帮助信息的分类"><a href="#3-帮助信息的分类" class="headerlink" title="3.帮助信息的分类"></a><font size=3>3.帮助信息的分类</font></h2><p>我们在终端执行以下命令：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">man man</span><br></pre></td></tr></table></figure>

<p>我们会得到man命令的班助手册，man命令帮助我们查找需要的信息，这些信息可以分为以下几类：</p>
<table>
<thead>
<tr>
<th align="center">编号</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td align="center">1</td>
<td>可执行程序或 shell 命令</td>
</tr>
<tr>
<td align="center">2</td>
<td>系统调用(内核提供的函数)</td>
</tr>
<tr>
<td align="center">3</td>
<td>库调用(程序库中的函数)</td>
</tr>
<tr>
<td align="center">4</td>
<td>特殊文件(通常位于 &#x2F;dev)</td>
</tr>
<tr>
<td align="center">5</td>
<td>文件格式和规范，如 &#x2F;etc&#x2F;passwd</td>
</tr>
<tr>
<td align="center">6</td>
<td>游戏</td>
</tr>
<tr>
<td align="center">7</td>
<td>杂项(包括宏包和规范，如 man(7)，groff(7))</td>
</tr>
<tr>
<td align="center">8</td>
<td>系统管理命令(通常只针对 root 用户)</td>
</tr>
<tr>
<td align="center">9</td>
<td>内核例程（非标准）</td>
</tr>
</tbody></table>
<p>可以看到其实man手册一共有 9 个章节，这 9 个章节帮助文档分别管理不同的帮助信息。我们可以使用前边的编号来直接查询相应册中的帮助信息，比如：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">man read   # 将会得到 read 命令的帮助手册</span><br><span class="line">man 2 read # 将会得到 read() 函数的帮助手册</span><br></pre></td></tr></table></figure>

<p>默认将按预定的顺序查找所有可用的章节 (默认是“ 1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7 ”，除非被 &#x2F;etc&#x2F;manpath.config 中的 SECTION 指令覆盖)，并只显示找到的第一个 页，即使多个章节中都有这个 页面。额，写笔记的时候忘记在哪看到的了，现在也看不太懂，不过我们知道man是按预定顺序来查找的就行，这不是重点。</p>
<h2 id="4-具体帮助页"><a href="#4-具体帮助页" class="headerlink" title="4.具体帮助页"></a><font size=3>4.具体帮助页</font></h2><p>一个手册页面包含若干个小节。小节名称通常包括 NAME，概述(SYNOPSIS)，配置(CONFIGURATION)，描述(DESCRIPTION)，选项(OPTIONS)，退出状态(EXIT STATUS)，返回值(RETURN VALUE)，错误(ERRORS)，环境(ENVIRONMENT)，文件(FILES)，版本(VERSIONS)，符合标准(CONFORMING TO)，注(NOTES)，缺陷(BUGS)，示例(EXAMPLE)，作者(AUTHORS)，和 亦见(SEE ALSO)。常见的几个如下：</p>
<table>
<thead>
<tr>
<th>名称</th>
<th>含义</th>
</tr>
</thead>
<tbody><tr>
<td>NAME</td>
<td>命令的名称</td>
</tr>
<tr>
<td>SYNOPSIS</td>
<td>命令的语法格式</td>
</tr>
<tr>
<td>DESCRIPTION</td>
<td>命令的一般描述以及用途</td>
</tr>
<tr>
<td>OPTIONS</td>
<td>描述命令所有的参数或选项</td>
</tr>
<tr>
<td>SEE ALSO</td>
<td>列出联机帮助页中与该命令直接相关或功 能相近的其他命令</td>
</tr>
<tr>
<td>BUGS</td>
<td>解释命令或其输出中存在的任何已知的问题或缺陷</td>
</tr>
<tr>
<td>EXAMPLES</td>
<td>普通的用法示例</td>
</tr>
<tr>
<td>AUTHORS</td>
<td>联机帮助页以及命令的作者</td>
</tr>
</tbody></table>
<h1 id="二、用户管理"><a href="#二、用户管理" class="headerlink" title="二、用户管理"></a><font size=3>二、用户管理</font></h1><h2 id="1-基础知识"><a href="#1-基础知识" class="headerlink" title="1.基础知识"></a><font size=3>1.基础知识</font></h2><ul>
<li><p>用户的属性：用户名、口令、用户 ID （ UID ）、用户主目录（ HOME ）和用户 shell 。</p>
</li>
<li><p>&#x2F;etc&#x2F;passwd 文件： &#x2F;etc&#x2F;passwd 文件是系统能够识别的用户清单。用户登陆时，系统查询这个文件，确定用户的 UID 并验证用户口令。包括：登陆名、经过加密的口令、 UID 、默认的 GID 、个人信息、主目录、登陆 shell 等</p>
</li>
<li><p>&#x2F;etc&#x2F;group 文件：包含了 UNIX 组的名称和每个组中成员列表每一行代表一个组，包括4个字段：组名、加密的口令、 GID 号、成员列表（ , 隔开）。</p>
</li>
</ul>
<h2 id="2-查看当前用户：whoami"><a href="#2-查看当前用户：whoami" class="headerlink" title="2.查看当前用户：whoami "></a><font size=3>2.查看当前用户：whoami </font></h2><h3 id="2-1使用格式-1"><a href="#2-1使用格式-1" class="headerlink" title="2.1使用格式"></a><font size=3>2.1使用格式</font></h3><p> whoami 命令用于显示自身用户名称，一般不用带参数。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">whoami</span><br></pre></td></tr></table></figure>

<h3 id="2-2使用实例-1"><a href="#2-2使用实例-1" class="headerlink" title="2.2使用实例"></a><font size=3>2.2使用实例</font></h3><figure class="highlight c"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ whoami</span><br><span class="line">hk</span><br></pre></td></tr></table></figure>

<h2 id="3-查看登录用户：who"><a href="#3-查看登录用户：who" class="headerlink" title="3.查看登录用户：who "></a><font size=3>3.查看登录用户：who </font></h2><h3 id="3-1使用格式"><a href="#3-1使用格式" class="headerlink" title="3.1使用格式"></a><font size=3>3.1使用格式</font></h3><p> who 命令用于显示系统中有哪些使用者正在上面，显示的资料包含了使用者  ID 、使用的终端机、从哪边连上来的、上线时间、呆滞时间、 CPU  使用量、动作等等。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">who [option]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：命令的选项，是可选的。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 option </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=100px>option</td><td align="center">说明</td></tr>    <tr>        <td align="center"  width=200px>-H</td>        <td align="left" rowspan="2">显示各栏位的标题信息列</td>    </tr>    <tr>        <td align="center" width=200px>--heading</td>    </tr>    <tr>        <td align="center" width=200px>-i</td>        <td align="left" rowspan="3">显示闲置时间，若该用户在前一分钟之内有进行任何动作，将标示成"."号，如果该用户已超过24小时没有任何动作，则标示出"old"字符串；</td>    </tr>    <tr>        <td align="center" width=200px>-u</td>    </tr>    <tr>        <td align="center" width=200px>--idle</td>    </tr>    <tr>        <td align="center" width=200px>-m</td>        <td align="left">此参数的效果和指定"am i"字符串相同；</td>    </tr>    <tr>        <td align="center" width=200px>-q</td>        <td align="left">或--count：只显示登入系统的帐号名称和总人数；</td>    </tr>    <tr>        <td align="center" width=200px>-s</td>        <td align="left">此参数将忽略不予处理，仅负责解决who指令其他版本的兼容性问题；</td>    </tr>    <tr>        <td align="center" width=200px>-w</td>        <td align="left" rowspan="5">显示用户的信息状态栏；</td>    </tr>    <tr>        <td align="center" width=200px>-T</td>    </tr>    <tr>        <td align="center" width=200px>--mesg</td>    </tr>    <tr>        <td align="center" width=200px>--message</td>    </tr>    <tr>        <td align="center" width=200px>--writable</td>    </tr>    <tr>        <td align="center" width=200px>--help</td>        <td align="left">在线帮助；</td>    </tr>    <tr>        <td align="center" width=200px>--version</td>        <td align="left">显示版本信息。</td>    </tr></table>
              </div>
            </details>

<h3 id="3-2使用实例"><a href="#3-2使用实例" class="headerlink" title="3.2使用实例"></a><font size=3>3.2使用实例</font></h3><h4 id="3-2-1显示当前登录系统的用户"><a href="#3-2-1显示当前登录系统的用户" class="headerlink" title="3.2.1显示当前登录系统的用户"></a><font size=3>3.2.1显示当前登录系统的用户</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ who</span><br><span class="line">hk       tty7         2022-10-13 09:42 (:0)</span><br></pre></td></tr></table></figure>



<h4 id="3-2-1显示信息带标题栏"><a href="#3-2-1显示信息带标题栏" class="headerlink" title="3.2.1显示信息带标题栏"></a><font size=3>3.2.1显示信息带标题栏</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">k@vm:~$ who -H</span><br><span class="line">名称   线路       时间           备注</span><br><span class="line">hk       tty7         2022-10-13 09:42 (:0)</span><br><span class="line"></span><br></pre></td></tr></table></figure>



<h4 id="3-2-1显示终端属性和标题栏"><a href="#3-2-1显示终端属性和标题栏" class="headerlink" title="3.2.1显示终端属性和标题栏"></a><font size=3>3.2.1显示终端属性和标题栏</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ who -TH</span><br><span class="line">名称     线路       时间           备注</span><br><span class="line">hk       + tty7         2022-10-13 09:42 (:0)</span><br></pre></td></tr></table></figure>

<h2 id="4-退出登录账户：exit"><a href="#4-退出登录账户：exit" class="headerlink" title="4.退出登录账户：exit "></a><font size=3>4.退出登录账户：exit </font></h2><h3 id="4-1使用格式"><a href="#4-1使用格式" class="headerlink" title="4.1使用格式"></a><font size=3>4.1使用格式</font></h3><p> exit 命令用于退出目前的 shell 或者退出当前用户（root用户下常用）。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">exit [状态值]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>状态值 ：就是退出的时候一个反馈给系统的值，是可选的。一般在终端使用的时候是用于退出 root 用户，一般不写状态值。</li>
</ul>
<h3 id="4-2使用实例"><a href="#4-2使用实例" class="headerlink" title="4.2使用实例"></a><font size=3>4.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ su</span><br><span class="line">密码： </span><br><span class="line">root@vm:/home/hk# exit</span><br><span class="line">exit</span><br></pre></td></tr></table></figure>

<h2 id="5-添加用户账号：useradd、adduser"><a href="#5-添加用户账号：useradd、adduser" class="headerlink" title="5.添加用户账号：useradd、adduser "></a><font size=3>5.添加用户账号：useradd、adduser </font></h2><h3 id="5-1两个命令区别"><a href="#5-1两个命令区别" class="headerlink" title="5.1两个命令区别"></a><font size=3>5.1两个命令区别</font></h3><p> useradd 和 adduser 命令都可以用于添加用户账号，参数基本上是一模一样，但是在 Ubuntu 中，两者都不使用参数时是有区别的：</p>
<ul>
<li>useradd 在使用该命令创建用户是不会在 &#x2F;home 下自动创建与用户名同名的用户目录，而且不会自动选择 shell 版本，也没有设置密码，那么这个用户是不能登录的，需要使用 passwd 命令修改密码。</li>
<li>adduser 在使用该命令创建用户是会在 &#x2F;home 下自动创建与用户名同名的用户目录，自动选择系统 shell 版本，会在创建时会提示输入密码，更加友好，一般推荐使用这个命令来创建用户。</li>
</ul>
<h3 id="5-2使用格式"><a href="#5-2使用格式" class="headerlink" title="5.2使用格式"></a><font size=3>5.2使用格式</font></h3><div class="tabs" id="usertab1"><ul class="nav-tabs"><li class="tab active"><a href="#usertab1-1">useradd</a></li><li class="tab"><a href="#usertab1-2">adduser</a></li></ul><div class="tab-content"><div class="tab-pane active" id="usertab1-1"><p>useradd 命令的一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">useradd [option] [user_name]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-c [备注]</td><td align="left">加上备注文字。备注文字会保存在passwd的备注栏位中</td></tr>    <tr><td align="center" width=200px>-d [登入目录]</td><td align="left">指定用户登入时的起始目录</td></tr>    <tr><td align="center" width=200px>-D</td><td align="left">变更预设值</td></tr>    <tr><td align="center" width=200px>-e [有效期限]</td><td align="left">指定帐号的有效期限</td><tr>    <tr><td align="center" width=200px>-f [缓冲天数]</td><td align="left">指定在密码过期后多少天即关闭该帐号</td></tr>    <tr><td align="center" width=200px>-g [群组]</td><td align="left">指定用户所属的群组</td></tr>    <tr><td align="center" width=200px>-G [群组]</td><td align="left">指定用户所属的附加群组</td></tr>    <tr><td align="center" width=200px>-m</td><td align="left">自动建立用户的登入目录</td></tr>    <tr><td align="center" width=200px>-M</td><td align="left">不要自动建立用户的登入目录</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">取消建立以用户名称为名的群组．    <tr><td align="center" width=200px>-r</td><td align="left">建立系统帐号</td></tr>    <tr><td align="center" width=200px>-s [shell]</td><td align="left">指定用户登入后所使用的shell</td></tr>    <tr><td align="center" width=200px>-u [userid]</td><td align="left">指定用户ID</td></tr></table>
              </div>
            </details>

<ul>
<li>user_name ：要创建的用户的用户名。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>（1）使用 useradd 指令所建立的帐号，实际上是保存在 &#x2F;etc&#x2F;passwd 文本文件中。</p>
<p>（2）使用的时候可能会需要添加 sudo，否则可能会提示 ” useradd: Permission denied “ 。</p></div><div class="tab-pane" id="usertab1-2"><p>adduser 一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adduser [option] [user_name]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-c [备注]</td><td align="left">加上备注文字。备注文字会保存在passwd的备注栏位中</td></tr>    <tr><td align="center" width=200px>-d [登入目录]</td><td align="left">指定用户登入时的起始目录</td></tr>    <tr><td align="center" width=200px>-D</td><td align="left">变更预设值</td></tr>    <tr><td align="center" width=200px>-e [有效期限]</td><td align="left">指定帐号的有效期限</td><tr>    <tr><td align="center" width=200px>-f [缓冲天数]</td><td align="left">指定在密码过期后多少天即关闭该帐号</td></tr>    <tr><td align="center" width=200px>-g [群组]</td><td align="left">指定用户所属的群组</td></tr>    <tr><td align="center" width=200px>-G [群组]</td><td align="left">指定用户所属的附加群组</td></tr>    <tr><td align="center" width=200px>-m</td><td align="left">自动建立用户的登入目录</td></tr>    <tr><td align="center" width=200px>-M</td><td align="left">不要自动建立用户的登入目录</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">取消建立以用户名称为名的群组．    <tr><td align="center" width=200px>-r</td><td align="left">建立系统帐号</td></tr>    <tr><td align="center" width=200px>-s [shell]</td><td align="left">指定用户登入后所使用的shell</td></tr>    <tr><td align="center" width=200px>-u [userid]</td><td align="left">指定用户ID</td></tr></table>
              </div>
            </details>

<ul>
<li>user_name ：要创建的用户的用户名。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>（1）使用 adduser 指令所建立的帐号，实际上是保存在 &#x2F;etc&#x2F;passwd 文本文件中。</p>
<p>（2）使用的时候可能会需要添加 sudo，否则可能会提示 ” useradd: Permission denied “ 。</p></div></div></div>

<h3 id="5-3使用实例"><a href="#5-3使用实例" class="headerlink" title="5.3使用实例"></a><font size=3>5.3使用实例</font></h3><h4 id="5-3-1-useradd-实例"><a href="#5-3-1-useradd-实例" class="headerlink" title="5.3.1 useradd 实例"></a><font size=3>5.3.1 useradd 实例</font></h4><ul>
<li>直接创建用户</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ useradd aaa</span><br><span class="line">useradd: Permission denied.</span><br><span class="line">useradd：无法锁定 /etc/passwd，请稍后再试。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo useradd aaa</span><br><span class="line">[sudo] hk 的密码： </span><br><span class="line"></span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">hk</span><br></pre></td></tr></table></figure>

<p>我们看一下 &#x2F;etc&#x2F;passwd 文件中的我们新创建的用户 aaa：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep aaa</span><br><span class="line">aaa:x:1001:1001::/home/aaa:</span><br></pre></td></tr></table></figure>

<p>从这里可以看出，我们直接创建用户的话，在 &#x2F;home 目录下并没有自动生成新建用户的目录，但是指定了登录用户的时候的默认目录，并且我们创建用户还需要加上 sudo 。</p>
<ul>
<li>创建用户的时候指定家目录</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ useradd -d /home/hk2 aaa</span><br><span class="line">useradd: Permission denied.</span><br><span class="line">useradd：无法锁定 /etc/passwd，请稍后再试。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo useradd -d /home/hk2 aaa</span><br><span class="line"></span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">hk</span><br></pre></td></tr></table></figure>

<p>我们看一下 &#x2F;etc&#x2F;passwd 文件中的我们新创建的用户 aaa ：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep aaa</span><br><span class="line">aaa:x:1001:1001::/home/hk2:</span><br></pre></td></tr></table></figure>

<p>可以看到家目录已经不再是默认的 aaa 了，改为了我们指定的目录。</p>
<h4 id="5-3-2-adduser-实例"><a href="#5-3-2-adduser-实例" class="headerlink" title="5.3.2 adduser 实例"></a><font size=3>5.3.2 adduser 实例</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ adduser bbb</span><br><span class="line">adduser：只有 root 才能将用户或组添加到系统。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo adduser bbb</span><br><span class="line">正在添加用户&quot;bbb&quot;...</span><br><span class="line">正在添加新组&quot;bbb&quot; (1002)...</span><br><span class="line">正在添加新用户&quot;bbb&quot; (1002) 到组&quot;bbb&quot;...</span><br><span class="line">创建主目录&quot;/home/bbb&quot;...</span><br><span class="line">正在从&quot;/etc/skel&quot;复制文件...</span><br><span class="line">输入新的 UNIX 密码： </span><br><span class="line">重新输入新的 UNIX 密码： </span><br><span class="line">passwd：已成功更新密码</span><br><span class="line">正在改变 bbb 的用户信息</span><br><span class="line">请输入新值，或直接敲回车键以使用默认值</span><br><span class="line">	全名 []: </span><br><span class="line">	房间号码 []: </span><br><span class="line">	工作电话 []: </span><br><span class="line">	家庭电话 []: </span><br><span class="line">	其它 []: </span><br><span class="line">这些信息是否正确？ [Y/n] </span><br><span class="line"></span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">bbb  hk</span><br><span class="line"></span><br></pre></td></tr></table></figure>

<p>我们来看一下 &#x2F;etc&#x2F;passwd 文件中的我们新创建的用户 bbb：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep bbb</span><br><span class="line">bbb:x:1002:1002:,,,:/home/bbb:/bin/bash</span><br></pre></td></tr></table></figure>

<p>会发现，该命令同时为我们指定了shell。</p>
<h2 id="6-修改用户密码：passwd"><a href="#6-修改用户密码：passwd" class="headerlink" title="6.修改用户密码：passwd "></a><font size=3>6.修改用户密码：passwd </font></h2><h3 id="6-1使用格式"><a href="#6-1使用格式" class="headerlink" title="6.1使用格式"></a><font size=3>6.1使用格式</font></h3><p>出于系统安全考虑， Linux 系统中的每一个帐号都必须同时具备用户名和密码， passwd 就是用来更改使用者的密码。需要说明的是，<strong>超级用户 root 可以修改所有其他用户的口令，而普通用户只能修改自己的用户口令</strong>，如果确要修改超级用户或其他用户口令的话，需要具有超级用户的权限。一般格式如下</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">passwd [option] &lt;user_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ： 选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr>        <td align="center" width=200px>-d</td>        <td align="left">删除密码。</td>    </tr>    <tr>        <td align="center" width=200px>-f</td>        <td align="left">强迫用户下次登录时必须修改口令。</td>    </tr>    <tr>        <td align="center" width=200px>-k</td>        <td align="left">更新只能发送在过期之后。</td>    </tr>    <tr>        <td align="center" width=200px>-g</td>        <td align="left">修改群组密码。</td>    </tr>    <tr>        <td align="center" width=200px>-S</td>        <td align="left">查询用户密码的状态，也就是 /etc/shadow 文件中此用户密码的内容。仅 root 用户可用。</td>    </tr>    <tr>        <td align="center" width=200px>-l</td>        <td align="left">暂时锁定用户，该选项会在 /etc/shadow 文件中指定用户的加密密码串前添加 "!"，使密码失效。仅 root 用户可用。</td>    </tr>    <tr>        <td align="center" width=200px>-u</td>        <td align="left">解锁用户，和 -l 选项相对应，也是只能 root 用户使用。</td>    </tr>    <tr>        <td align="center" width=200px>-n 天数</td>        <td align="left">设置该用户修改密码后，多长时间不能再次修改密码，也就是修改 /etc/shadow 文件中各行密码的第 4 个字段。</td>    </tr>    <tr>        <td align="center" width=200px>-x 天数</td>        <td align="left">设置该用户的密码有效期，对应 /etc/shadow 文件中各行密码的第 5 个字段。</td>    </tr>    <tr>        <td align="center" width=200px>-w 天数</td>        <td align="left">设置用户密码过期前的警告天数，对于 /etc/shadow 文件中各行密码的第 6 个字段。</td>    </tr>    <tr>        <td align="center" width=200px>-i 日期</td>        <td align="left">设置用户密码失效日期，对应 /etc/shadow 文件中各行密码的第 7 个字段。</td>    </tr>    <tr>        <td align="center" width=200px>--stdin</td>        <td align="left">可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>user_name ：需要修改密码的用户名。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>（1）使用的时候要注意加上 sudo。</p>
<h3 id="6-2使用实例"><a href="#6-2使用实例" class="headerlink" title="6.2使用实例"></a><font size=3>6.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ passwd bbb</span><br><span class="line">passwd：您不能查看或更改 bbb 的密码信息。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo passwd bbb</span><br><span class="line">输入新的 UNIX 密码： </span><br><span class="line">重新输入新的 UNIX 密码： </span><br><span class="line">passwd：已成功更新密码</span><br></pre></td></tr></table></figure>

<h2 id="7-删除用户：userdel、deluser"><a href="#7-删除用户：userdel、deluser" class="headerlink" title="7.删除用户：userdel、deluser "></a><font size=3>7.删除用户：userdel、deluser </font></h2><h3 id="7-1两个命令区别"><a href="#7-1两个命令区别" class="headerlink" title="7.1两个命令区别"></a><font size=3>7.1两个命令区别</font></h3><p> userdel 和 deluser 命令都用于删除用户，将一个用户从一个组中删除（即退出用户组）。 deluser 的选项要比 userdel 丰富，功能要更强大，其他的区别嘛，就不是很清楚了，后边要是发现有重大的区别的话再补充。</p>
<div class="tabs" id="usertab2"><ul class="nav-tabs"><li class="tab active"><a href="#usertab2-1">userdel</a></li><li class="tab"><a href="#usertab2-2">deluser</a></li></ul><div class="tab-content"><div class="tab-pane active" id="usertab2-1"><p>userdel 一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">userdel [option] &lt;user_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ： 选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr>        <td align="center" width=200px>-r</td>        <td align="left">删除用户登入目录以及目录中所有文件</td>    </tr></table>
              </div>
            </details>

<ul>
<li>user_name ：需要删除的用户的用户名。</li>
</ul></div><div class="tab-pane" id="usertab2-2"><p>deluser 一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">deluser [option] &lt;username&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ： 选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr>        <td align="center" width=200px>--quiet | -q</td>        <td align="left">不将进程信息发给 stdout。</td>    </tr>    <tr>        <td align="center" width=200px>--help | -h</td>        <td align="left">帮助信息。</td>    </tr>    <tr>        <td align="center" width=200px>--version | -v</td>        <td align="left">版本号和版权。</td>    </tr>    <tr>        <td align="center" width=200px>--conf | -c file</td>        <td align="left">以制定文件作为配置文件。</td>    </tr>    <tr>        <td align="center" width=200px>--remove-home</td>        <td align="left">删除用户的主目录和邮箱。</td>    </tr>    <tr>        <td align="center" width=200px>--remove-all-files</td>        <td align="left">删除用户拥有的所有文件。</td>    </tr>    <tr>        <td align="center" width=200px>--backup</td>        <td align="left">删除前将文件备份。</td>    </tr>    <tr>        <td align="center" width=200px>--backup-to <dir_path> </td>        <td align="left">备份的目标目录，默认是当前目录。</td>    </tr>    <tr>        <td align="center" width=200px>--system</td>        <td align="left">只有当该用户是系统用户时才删除。</td>    </tr>    <tr>        <td align="center" width=200px>--only-if-empty</td>        <td align="left">只有当该用户组中无成员时才删除</td>    </tr></table> 
              </div>
            </details>

<ul>
<li>user_name ：需要删除的用户的用户名。</li>
</ul></div></div></div>

<h3 id="7-3使用实例"><a href="#7-3使用实例" class="headerlink" title="7.3使用实例"></a><font size=3>7.3使用实例</font></h3><h4 id="7-3-1-userdel-实例"><a href="#7-3-1-userdel-实例" class="headerlink" title="7.3.1 userdel 实例"></a><font size=3>7.3.1 userdel 实例</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep bbb</span><br><span class="line">bbb:x:1002:1002:,,,:/home/bbb:/bin/bash</span><br><span class="line"></span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">bbb  hk</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo userdel bbb</span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">bbb  hk</span><br></pre></td></tr></table></figure>

<p>我们来看一下 &#x2F;etc&#x2F;passwd 文件中的我们新创建的用户 bbb：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep bbb</span><br></pre></td></tr></table></figure>

<p>会发现用户已经删除了，但是用户目录没有删除，所以其实删除的时候可以加上 -r 选项。</p>
<h4 id="7-3-2-deluser-实例"><a href="#7-3-2-deluser-实例" class="headerlink" title="7.3.2 deluser 实例"></a><font size=3>7.3.2 deluser 实例</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep bbb</span><br><span class="line">bbb:x:1002:1002:,,,:/home/bbb:/bin/bash</span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">bbb  hk</span><br><span class="line"></span><br><span class="line">hk@vm:~$ deluser  --remove-home  bbb</span><br><span class="line">/usr/sbin/deluser：只有 root 才能从系统中删除用户或组。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ sudo deluser  --remove-home  bbb</span><br><span class="line">正在寻找要备份或删除的文件...</span><br><span class="line">正在删除文件...</span><br><span class="line">正在删除用户 &#x27;bbb&#x27;...</span><br><span class="line">警告：组&quot;bbb&quot;没有其他成员了。</span><br><span class="line">userdel: user bbb is currently used by process 80839</span><br><span class="line">/usr/sbin/deluser：&quot;/usr/sbin/userdel bbb&quot;返回错误代码 8，退出。</span><br><span class="line"></span><br><span class="line">hk@vm:~$ ls /home/</span><br><span class="line">hk</span><br></pre></td></tr></table></figure>

<p>我们来看一下 &#x2F;etc&#x2F;passwd 文件中的我们新创建的用户 bbb：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cat /etc/passwd | grep bbb</span><br></pre></td></tr></table></figure>

<p>会发现用户已经删除了。</p>
<h2 id="8-切换用户：su"><a href="#8-切换用户：su" class="headerlink" title="8.切换用户：su "></a><font size=3>8.切换用户：su </font></h2><h3 id="8-1使用格式"><a href="#8-1使用格式" class="headerlink" title="8.1使用格式"></a><font size=3>8.1使用格式</font></h3><p> su 命令用于临时改变用户身份，具有其他用户的权限。普通用户可以使用 su 命令临时具有超级用户的权限；超级用户也可以使用普通用户身份完成一些操作，除  root  外，需要键入该使用者的密码。。当需要放弃当前用户身份，可以使用 exit 命令切换回来。 su 命令的一般语法格式为：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">su [option] [USER [ARG]]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-</td><td align="left">当前用户不仅切换为指定用户的身份，同时所用的工作环境也切换为此用户的环境（包括 PATH 变量、MAIL 变量等），使用 - 选项可省略用户名，默认会切换为 root 用户。</td></tr>    <tr><td align="center" width=200px>-f 或 --fast</td><td align="left">不必读启动档（如 csh.cshrc 等），仅用于 csh 或 tcsh</td></tr>    <tr><td align="center" width=200px>-m -p 或 --preserve-environment</td><td align="left">执行 su 时不改变当前的工作环境（不使用切换用户的配置文件）。</td></tr>    <tr><td align="center" width=200px>-c command 或 --command=command</td><td align="left">变更为帐号为 USER 的使用者并执行指令（command）后再变回原来使用者</td></tr>    <tr><td align="center" width=200px>-s shell 或 --shell=shell</td><td align="left">指定要执行的 shell （bash csh tcsh 等），预设值为 /etc/passwd 内的该使用者（USER） shell</td></tr>    <tr><td align="center" width=200px>--help</td><td align="left">显示说明文件</td></tr>    <tr><td align="center" width=200px>--version</td><td align="left">显示版本资讯</td></tr>    <tr><td align="center" width=200px>-l 或 --login</td><td align="left">同 - 的使用类似，也就是在切换用户身份的同时，完整切换工作环境，但后面需要添加欲切换的使用者账号(默认是root)。</td></tr></table>
              </div>
            </details>

<ul>
<li>USER ：欲变更的使用者帐号。</li>
<li>ARG ：传入新的 shell 参数。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>使用  su  命令时，有  -  和没有  -  是完全不同的， -  选项表示在切换用户身份的同时，连当前使用的环境变量也切换成指定用户的。环境变量是用来定义操作系统环境的，因此如果系统环境没有随用户身份切换，很多命令无法正确执行。</p>
<p>例如，普通用户  hk 通过  su  命令切换成  root  用户，但没有使用  -  选项，这样情况下，虽然看似是  root  用户，但系统中的  $PATH  环境变量依然是  hk  的（而不是  root  的），因此当前工作环境中，并不包含  &#x2F;sbin 、 &#x2F;usr&#x2F;sbin 等超级用户命令的保存路径，这就导致很多管理员命令根本无法使用。不仅如此，当  root  用户接受邮件时，会发现收到的是  hk 用户的邮件，因为环境变量  $MAIL  也没有切换。</p>
<h3 id="8-2使用实例"><a href="#8-2使用实例" class="headerlink" title="8.2使用实例"></a><font size=3>8.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ su bbb</span><br><span class="line">密码： </span><br><span class="line">bbb@vm:/home/hk$ </span><br></pre></td></tr></table></figure>

<h2 id="9-查看有哪些用户组"><a href="#9-查看有哪些用户组" class="headerlink" title="9.查看有哪些用户组"></a><font size=3>9.查看有哪些用户组</font></h2><p>要想查看当前系统中有哪些用户组，有下边几种方式。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">getent group   # 方法一</span><br><span class="line">cat /etc/group # 方法二</span><br><span class="line">compgen -g     # 方法三，只会显示用户名</span><br></pre></td></tr></table></figure>

<h2 id="10-查看用户在哪些组：groups"><a href="#10-查看用户在哪些组：groups" class="headerlink" title="10.查看用户在哪些组：groups "></a><font size=3>10.查看用户在哪些组：groups </font></h2><h3 id="10-1使用格式"><a href="#10-1使用格式" class="headerlink" title="10.1使用格式"></a><font size=3>10.1使用格式</font></h3><p> group 命令用于查询用户所在的组。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">groups [option] &lt;user_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr>        <td align="center" width=200px>--help</td>        <td align="left">显示帮助信息</td>    </tr>    <tr>        <td align="center" width=200px>--version</td>        <td align="left">显示版本信息</td>    </tr></table>
              </div>
            </details>

<ul>
<li>user_name ：要查询的用户名。</li>
</ul>
<h3 id="10-2使用实例"><a href="#10-2使用实例" class="headerlink" title="10.2使用实例"></a><font size=3>10.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ groups hk</span><br><span class="line">hk : hk adm cdrom sudo dip plugdev lpadmin sambashare</span><br></pre></td></tr></table></figure>

<h2 id="11-修改用户属性：usermod"><a href="#11-修改用户属性：usermod" class="headerlink" title="11.修改用户属性：usermod "></a><font size=3>11.修改用户属性：usermod </font></h2><h3 id="11-1使用格式"><a href="#11-1使用格式" class="headerlink" title="11.1使用格式"></a><font size=3>11.1使用格式</font></h3><p> usermod 命令用来修改用户帐号的各项设定。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">usermod [option1] [option2] &lt;user_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option1 ：选项1。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option1] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" rowspan="11" width=100px>option1</td>        <td align="center" width=200px>-c<备注></td>        <td align="left">修改用户帐号的备注文字。</td>    </tr>    <tr>        <td align="center" width=200px>-d<登入目录></td>        <td align="left">修改用户登入时的目录。</td>    </tr>    <tr>        <td align="center" width=200px>-m</td>        <td align="left">修改用户的家目录通常和-d选项一起使用</td>    </tr>    <tr>        <td align="center" width=200px>-e<有效期限></td>        <td align="left">修改帐号的有效期限。</td>    </tr>    <tr>        <td align="center" width=200px>-f<缓冲天数></td>        <td align="left">修改在密码过期后多少天即关闭该帐号。</td>    </tr>    <tr>        <td align="center" width=200px>-g<群组></td>        <td align="left">修改用户所属的群组。</td>    </tr>    <tr>        <td align="center" width=200px>-G<群组></td>        <td align="left">修改用户所属的附加群组,仅与-a选项一起使用。</td>    </tr>    <tr>        <td align="center" width=200px>-a</td>        <td align="left">把用户追加到某些组中，仅与-G选项一起使用。</td>    </tr>    <tr>        <td align="center" width=200px>-l<帐号名称></td>        <td align="left">修改用户帐号名称。</td>    </tr>    <tr>        <td align="center" width=200px>-s<shell></td>        <td align="left">修改用户登入后所使用的shell。</td>    </tr>    <tr>        <td align="center" width=200px>-u<uid></td>        <td align="left">修改用户ID,该uid必须唯一 。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>option2 ：选项2。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option2] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" rowspan="2" width=100px>option2</td>        <td align="center" width=200px>-L</td>        <td align="left">锁定用户密码，使密码无效。</td>    </tr>    <tr>        <td align="center" width=200px>-U</td>        <td align="left">解除密码锁定。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>user_name ：要修改属性的用户名。</li>
</ul>
<h3 id="11-2使用实例"><a href="#11-2使用实例" class="headerlink" title="11.2使用实例"></a><font size=3>11.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">usermod –d /home/newname –m –l newname oldname  # 用户oldname改名为newname，注意要同时更改家目录</span><br></pre></td></tr></table></figure>

<h2 id="12-修改文件权限：chmod"><a href="#12-修改文件权限：chmod" class="headerlink" title="12.修改文件权限：chmod "></a><font size=3>12.修改文件权限：chmod </font></h2><h3 id="12-1文件权限说明"><a href="#12-1文件权限说明" class="headerlink" title="12.1文件权限说明"></a><font size=3>12.1文件权限说明</font></h3><p> Linux&#x2F;Unix  的文件<strong>调用权限分为三级</strong> : 文件所有者（ Owner ）、用户组（ Group ）、其它用户（ Other Users ）。只有文件所有者和超级用户可以修改文件或目录的权限。</p>
<table>
    <tr>
        <td align="center" rowspan="2" width=150px>file type</td>
        <td align="center">-</td>
        <td align="left">代表文件</td>
    </tr>
    <tr>
        <td align="center">d</td>
        <td align="left">代表目录</td>
    </tr>
    <tr>
        <td align="center" rowspan="4" width=150px>Owner<br>Group<br>Other Users</td>
        <td align="center">r</td>
        <td align="left">read(可读)</td>
    </tr>
    <tr>
        <td align="center">w</td>
        <td align="left">write(可写)</td>
    </tr>
    <tr>
        <td align="center">x</td>
        <td align="left">execute(可执行)</td>
    </tr>
    <tr>
        <td align="center">-</td>
        <td align="left">无权限</td>
    </tr>
</table>

<img data-src="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221018174919290.png" style="zoom:50%;" />

<p>例如：</p>
<img data-src="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221020094556991.png" alt="image-20221020094556991" style="zoom:50%;" />

<p>我们可以使用绝对模式（<strong>八进制数字模式</strong>），<strong>符号模式</strong>指定文件的权限。</p>
<img data-src="https://fanhua-picture.oss-cn-hangzhou.aliyuncs.com/01%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91/01HQ%E8%AF%BE%E7%A8%8B%E4%BD%93%E7%B3%BB/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/LV02-01-Linux-04-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/img/image-20221020094556999.png" style="zoom:50%;" />

<h3 id="12-2使用格式"><a href="#12-2使用格式" class="headerlink" title="12.2使用格式"></a><font size=3>12.2使用格式</font></h3><p>chmod 命令用于修改文件权限。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chmod [option] &lt;mode&gt; &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p>【参数说明】</p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" rowspan="4">[-cfvR]</td>        <td align="center">-c</td>        <td align="left">若该文件权限确实已经更改，才显示其更改动作</td>    </tr>    <tr>        <td align="center">-f</td>        <td align="left">若该文件权限无法被更改也不要显示错误讯息</td>    </tr>    <tr>        <td align="center">-v</td>        <td align="left">显示权限变更的详细资料</td>    </tr>    <tr>        <td align="center">-R</td>        <td align="left">对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)</td>    </tr></table>
              </div>
            </details>

<ul>
<li>mode ：权限设定字串(有两种模式：八进制数字模式和符号模式)。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 mode </summary>
              <div class='content'>
              <div class="tabs" id="chmodtab"><ul class="nav-tabs"><li class="tab active"><a href="#chmodtab-1">八进制数字模式</a></li><li class="tab"><a href="#chmodtab-2">符号模式</a></li></ul><div class="tab-content"><div class="tab-pane active" id="chmodtab-1"><p>要注意这里是三个八进制数，依次代表 Owner 、 Group 和 Other Users 。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash">三个 Octal_number 数字</span></span><br><span class="line">Octal_number</span><br></pre></td></tr></table></figure><details class="folding-tag" blue><summary> 点击查看详细参数说明 </summary>              <div class='content'>              <table>    <tr>        <td align="center" rowspan="8" width=100px>Octal_number</td>        <td align="center">7</td>        <td align="center">111</td>        <td align="center">rwx</td>        <td align="left">读 + 写 + 执行权限</td>    </tr>    <tr>        <td align="center">6</td>        <td align="center">110</td>        <td align="center">rw-</td>        <td align="left">读 + 写权限</td>    </tr>    <tr>        <td align="center">5</td>        <td align="center">101</td>        <td align="center">r-x</td>        <td align="left">读 + 执行权限</td>    </tr>    <tr>        <td align="center">4</td>        <td align="center">100</td>        <td align="center">r--</td>        <td align="left">只有可读权限</td>    </tr>    <tr>        <td align="center">3</td>        <td align="center">011</td>        <td align="center">-wx</td>        <td align="left">写 + 执行 权限</td>    </tr>    <tr>        <td align="center">2</td>        <td align="center">010</td>        <td align="center">-w-</td>        <td align="left">只有可写权限</td>    </tr>    <tr>        <td align="center">1</td>        <td align="center">001</td>        <td align="center">--x</td>        <td align="left">只有可执行权限</td>    </tr>    <tr>        <td align="center">0</td>        <td align="center">000</td>        <td align="center">---</td>        <td align="left">无权限</td>    </tr></table>              </div>            </details></div><div class="tab-pane" id="chmodtab-2"><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">who operator permission</span><br></pre></td></tr></table></figure><details class="folding-tag" blue><summary> 点击查看参数详细说明 </summary>              <div class='content'>              <table>    <tr>        <td align="center" rowspan="4">who</td>        <td align="center">u</td>        <td align="left">user:文件所有者(Owner)</td>    </tr>    <tr>        <td align="center">g</td>        <td align="left">group:文件所有者所在组(Group)</td>    </tr>    <tr>        <td align="center">o</td>        <td align="left">others:所有其他用户(Other Users)</td>    </tr>    <tr>        <td align="center">a</td>        <td align="left">all:所用用户, 相当于 ugo</td>    </tr>    <tr>        <td align="center" rowspan="3">operator</td>        <td align="center">+</td>        <td align="left">为指定的用户类型增加权限</td>    </tr>    <tr>        <td align="center">-</td>        <td align="left">去除指定用户类型的权限</td>    </tr>    <tr>        <td align="center">=</td>        <td align="left">设置指定用户权限的设置，即将用户类型的所有权限重新设置</td>    </tr>    <tr>        <td align="center" rowspan="6">permission </td>        <td align="center">r</td>        <td align="left">读，设置为可读权限</td>    </tr>    <tr>        <td align="center">w</td>        <td align="left">写，设置为可写权限</td>    </tr>    <tr>        <td align="center">x</td>        <td align="left">执行权限，设置为可执行权限</td>    </tr>    <tr>        <td align="center">X</td>        <td align="left">特殊执行权限,只有当文件为目录文件，或者其他类型的用户有可执行权限时，才将文件权限设置可执行</td>    </tr>    <tr>        <td align="center">s</td>        <td align="left">setuid/gid:当文件被执行时，根据who参数指定的用户类型设置文件的setuid或者setgid权限</td>    </tr>    <tr>        <td align="center">t</td>        <td align="left">粘贴位，设置粘贴位，只有超级用户可以设置该位，只有文件所有者u可以使用该位</td>    </tr></table>              </div>            </details></div></div></div>
              </div>
            </details>

<ul>
<li>file_name ：要修改权限的文件名或者目录名。</li>
</ul>
<p><strong>【注意】</strong>有的文件修改权限时可能会需要管理员权限再能修改，此时可以加上 sudo 。</p>
<h3 id="12-3使用实例"><a href="#12-3使用实例" class="headerlink" title="12.3使用实例"></a><font size=3>12.3使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">chmod ugo+r file.sh # 将文件 file.sh 设为所有人皆可读取</span><br><span class="line">chmod a+r file.sh   # 将文件 file.sh 设为所有人皆可读取</span><br><span class="line">chmod ug+w,o-w file1.sh file2.sh # 将文件 file1.sh 与 file2.sh 设为该文件拥有者，与其所属同一个群体者可写入，但其他以外的人则不可写入</span><br><span class="line">chmod -R a+r * # 当前目录下的所有文件与子目录皆设为任何人可读取</span><br><span class="line"></span><br><span class="line">chmod 664 file.sh # 对file.sh的所有者和用户组设置读写权限, 为其其他用户设置读权限</span><br></pre></td></tr></table></figure>



<h1 id="三、进程管理"><a href="#三、进程管理" class="headerlink" title="三、进程管理"></a><font size=3>三、进程管理</font></h1><p>程序的一次执行就是一个进程  ( process ) ，进程相关信息都可以在 &#x2F;proc&#x2F; 目录下找到。</p>
<h2 id="1-显示进程的动态：ps"><a href="#1-显示进程的动态：ps" class="headerlink" title="1.显示进程的动态：ps "></a><font size=3>1.显示进程的动态：ps </font></h2><h3 id="1-1使用格式"><a href="#1-1使用格式" class="headerlink" title="1.1使用格式"></a><font size=3>1.1使用格式</font></h3><p>在 linux 中，使用 man ps 命令就可以看到详细的帮助手册，我们会发现，这个命令不仅选项多，而且为了适应不同的类  UNIX  系统，可用格式也有好几种，很难记忆，下边只列举几个常用的。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps [option]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <p>该命令选项很多，这里只列举常用的几个参数说明。</p><table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-A</td><td align="left">显示所有进程</td></tr>    <tr><td align="center" width=200px>a</td><td align="left">显示一个终端的所有进程，除会话引线外</td></tr>    <tr><td align="center" width=200px>u</td><td align="left">显示进程的归属用户及内存的使用情况</td></tr>    <tr><td align="center" width=200px>x</td><td align="left">显示没有控制终端的进程</td></tr>    <tr><td align="center" width=200px>-e</td><td align="left">显示所有进程</td></tr>    <tr><td align="center" width=200px>-l</td><td align="left">长格式显示更加详细的信息</td></tr>    <tr><td align="center" width=200px>-H</td><td align="left">显示树状结构</td></tr>    <tr><td align="center" width=200px>-T</td><td align="left">开启线程查看</td></tr></table>
              </div>
            </details>

<h3 id="1-2使用实例"><a href="#1-2使用实例" class="headerlink" title="1.2使用实例"></a><font size=3>1.2使用实例</font></h3><h4 id="1-2-1查询指定进程情况"><a href="#1-2-1查询指定进程情况" class="headerlink" title="1.2.1查询指定进程情况"></a><font size=3>1.2.1查询指定进程情况</font></h4><p>我们可以使用管道来只显示特定名称的进程运行情况，一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps [option] | grep &lt;process_name&gt;</span><br></pre></td></tr></table></figure>

<p>例如，</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps -elf | grep a.out</span><br></pre></td></tr></table></figure>

<p>此命令后边较为常用，可能会多次用到，它将显示名称为 a.out 的所有进程的信息。</p>
<h4 id="1-2-2查看指定用户的进程"><a href="#1-2-2查看指定用户的进程" class="headerlink" title="1.2.2查看指定用户的进程"></a><font size=3>1.2.2查看指定用户的进程</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps -u &lt;user_name&gt;</span><br></pre></td></tr></table></figure>

<h4 id="1-2-3查看指定进程的线程"><a href="#1-2-3查看指定进程的线程" class="headerlink" title="1.2.3查看指定进程的线程"></a><font size=3>1.2.3查看指定进程的线程</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">ps -L &lt;PID&gt;</span><br><span class="line">ps -eLf |grep a.out # 查看指定名称为 a.out 的进程及其创建的所有线程。</span><br></pre></td></tr></table></figure>

<h4 id="1-2-4-ps-aux"><a href="#1-2-4-ps-aux" class="headerlink" title="1.2.4 ps -aux"></a><font size=3>1.2.4 ps -aux</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ps -aux</span><br></pre></td></tr></table></figure>

<p>我是使用的 ubuntu ，在它里边加 - 或者不加好像都一样，使用  au 或者 aux 选项后，窗口会列出各进程的很多项信息，输出格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看显示进程信息参数说明 </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>USER</td><td align="left" colspan="2">进程拥有者</td></tr>    <tr><td align="center" width=200px>PID</td><td align="left" colspan="2">pid</td></tr>    <tr><td align="center" width=200px>%CPU</td><td align="left" colspan="2">占用的 CPU 使用率</td></tr>    <tr><td align="center" width=200px>%MEM</td><td align="left" colspan="2">占用的记忆体使用率</td></tr>    <tr><td align="center" width=200px>VSZ</td><td align="left" colspan="2">占用的虚拟记忆体大小</td></tr>    <tr><td align="center" width=200px>RSS</td><td align="left" colspan="2">占用的记忆体大小</td></tr>    <tr><td align="center" width=200px>TTY</td><td align="left" colspan="2">终端的次要装置号码 (minor device number of tty)</td></tr>    <tr><td align="center" width=200px rowspan="13">STAT</td><td align="left" colspan="2">该进程的状态</td></tr>    <tr><td align="center" width=200px>D</td><td align="left">不可被唤醒的睡眠状态，通常用于 I/O 情况。</td></tr>    <tr><td align="center" width=200px>R</td><td align="left">该进程正在运行。</td></tr>    <tr><td align="center" width=200px>S</td><td align="left">该进程处于睡眠状态，可被唤醒。</td></tr>    <tr><td align="center" width=200px>T</td><td align="left">停止状态，可能是在后台暂停或进程处于除错状态。</td></tr>    <tr><td align="center" width=200px>Z</td><td align="left">僵尸进程。进程已经中止，但是部分程序还在内存当中。</td></tr>    <tr><td align="center" width=200px>W</td><td align="left">没有足够的记忆体分页可分配</td></tr>    <tr><td align="center" width=200px>&lt;</td><td align="left">高优先级（该状态在 BSD 格式中出现）。</td></tr>    <tr><td align="center" width=200px>N</td><td align="left">低优先级（该状态在 BSD 格式中出现）。</td></tr>    <tr><td align="center" width=200px>L</td><td align="left">被锁入内存（该状态在 BSD 格式中出现）。</td></tr>    <tr><td align="center" width=200px>s</td><td align="left">包含子进程（该状态在 BSD 格式中出现）。</td></tr>    <tr><td align="center" width=200px>l</td><td align="left">多线程（该状态在 BSD 格式中出现,小写L）。</td></tr>    <tr><td align="center" width=200px>+</td><td align="left">位于后台（该状态在 BSD 格式中出现）。</td></tr>    <tr><td align="center" width=200px>START</td><td align="left" colspan="2">进程开始时间</td></tr>    <tr><td align="center" width=200px>TIME</td><td align="left" colspan="2">执行的时间</td></tr>    <tr><td align="center" width=200px>COMMAND</td><td align="left" colspan="2">所执行的指令</td></tr></table>
              </div>
            </details>

<h4 id="1-2-5-ps-le"><a href="#1-2-5-ps-le" class="headerlink" title="1.2.5 ps -le"></a><font size=3>1.2.5 ps -le</font></h4><p>该命令可以查看系统中所有的进程，而且还能看到进程的父进程的  PID  和进程优先级，使用该命令后，显示格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看显示进程信息参数说明 </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=150px>F</td><td align="left"> 进程标志，说明进程的权限，常见的标志有两个:<br>1：进程可以被复制，但是不能被执行<br>4：进程使用超级用户权限</td></tr>    <tr><td align="center" width=150px>S</td><td align="left"> 进程状态。具体的状态和"psaux"命令中的 STAT 状态一致</td></tr>    <tr><td align="center" width=150px>UID</td><td align="left"> 运行此进程的用户的 ID</td></tr>    <tr><td align="center" width=150px>PID</td><td align="left"> 进程的 ID</td></tr>    <tr><td align="center" width=150px>PPID</td><td align="left">父进程的 ID</td></tr>    <tr><td align="center" width=150px>C</td><td align="left"> 该进程的 CPU 使用率，单位是百分比</td></tr>    <tr><td align="center" width=150px>PRI</td><td align="left"> 进程的优先级，数值越小，该进程的优先级越高，越早被 CPU 执行</td></tr>    <tr><td align="center" width=150px>NI</td><td align="left"> 进程的优先级，数值越小，该进程越早被执行</td></tr>    <tr><td align="center" width=150px>ADDR</td><td align="left">该进程在内存的哪个位置</td></tr>    <tr><td align="center" width=150px>SZ</td><td align="left"> 该进程占用多大内存</td></tr>    <tr><td align="center" width=150px>WCHAN</td><td align="left">该进程是否运行。"-"代表正在运行</td></tr>    <tr><td align="center" width=150px>TTY</td><td align="left"> 该进程由哪个终端产生</td></tr>    <tr><td align="center" width=150px>TIME</td><td align="left">该进程占用 CPU 的运算时间，注意不是系统时间</td></tr>    <tr><td align="center" width=150px>CMD</td><td align="left"> 产生此进程的命令名</td></tr></table>
              </div>
            </details>

<h4 id="1-2-6-ps-axjf"><a href="#1-2-6-ps-axjf" class="headerlink" title="1.2.6 ps -axjf"></a><font size=3>1.2.6 ps -axjf</font></h4><p>以树的形式列出终端的所有进程，可以与管道连用，查看一个进程的各个子进程的情况。</p>
<h4 id="1-2-7-ps-eT"><a href="#1-2-7-ps-eT" class="headerlink" title="1.2.7 ps -eT"></a><font size=3>1.2.7 ps -eT</font></h4><p>显示所有进程，并显示其子进程。使用命令后，显示信息格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">PID    SPID TTY          TIME CMD</span><br></pre></td></tr></table></figure>

<p>其中 SPID 就表示线程号。该命令也可以有如下用法：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">ps -eT -p &lt;pid&gt;     # 显示指定的PID进程的所有线程</span><br><span class="line">ps -eT | grep a.out # 显示进程 a.out 的所有线程</span><br><span class="line">ps -T               # 显示进程及其创建的线程的信息</span><br></pre></td></tr></table></figure>

<h2 id="2-实时显示进程：top"><a href="#2-实时显示进程：top" class="headerlink" title="2.实时显示进程：top "></a><font size=3>2.实时显示进程：top </font></h2><h3 id="2-1使用格式-2"><a href="#2-1使用格式-2" class="headerlink" title="2.1使用格式"></a><font size=3>2.1使用格式</font></h3><p>该命令用于监视进程，通常会全屏显示，而且会随着进程状态的变化不断更新。整个系统的信息也会显示，为查找问题提供了便利。它可以显示系统总共有多少CPU和内存资源以及负载平衡等信息。</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">top [option]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center" colspan="2">说明</td></tr>    <tr><td align="center" width=200px>-d</td><td align="left">改变显示的更新速度，或是在交谈式指令列( interactive command)按 s</td></tr>    <tr><td align="center" width=200px>-q</td><td align="left">没有任何延迟的显示速度，如果使用者是有 superuser 的权限，则 top 将会以最高的优先序执行</td></tr>    <tr><td align="center" width=200px>-c</td><td align="left">切换显示模式，共有两种模式，一是只显示执行档的名称，另一种是显示完整的路径与名称</td></tr>    <tr><td align="center" width=200px>-S</td><td align="left">累积模式，会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来</td></tr>    <tr><td align="center" width=200px>-s</td><td align="left">安全模式，将交谈式指令取消, 避免潜在的危机</td></tr>    <tr><td align="center" width=200px>-i</td><td align="left">不显示任何闲置 (idle) 或无用 (zombie) 的进程</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">更新的次数，完成后将会退出 top</td></tr>    <tr><td align="center" width=200px>-b</td><td align="left">批次档模式，搭配 "n" 参数一起使用，可以用来将 top 的结果输出到档案内</td></tr>    <tr><td align="center" width=200px>-p &lt;PID&gt;</td><td align="left">显示指定PID的进程</td></tr></table>
              </div>
            </details>

<h3 id="2-2显示信息详解"><a href="#2-2显示信息详解" class="headerlink" title="2.2显示信息详解"></a><font size=3>2.2显示信息详解</font></h3><h4 id="2-2-1-显示信息总览"><a href="#2-2-1-显示信息总览" class="headerlink" title="2.2.1 显示信息总览"></a><font size=3>2.2.1 显示信息总览</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">top - 16:28:51 up  8:30,  1 user,  load average: 0.08, 0.02, 0.00</span><br><span class="line">任务: 296 total,   1 running, 295 sleeping,   0 stopped,   0 zombie</span><br><span class="line"><span class="meta prompt_">%</span><span class="language-bash">Cpu(s):  0.5 us,  0.3 sy,  0.0 ni, 99.2 <span class="built_in">id</span>,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st</span></span><br><span class="line">MiB Mem :   3894.5 total,   1245.9 free,   1554.8 used,   1093.8 buff/cache</span><br><span class="line">MiB Swap:   1162.4 total,   1162.4 free,      0.0 used.   2037.2 avail Mem </span><br><span class="line"></span><br><span class="line"> 进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND</span><br><span class="line">     1 root      20   0  165788  12284   7804 S   0.0   0.3   0:03.59 systemd</span><br></pre></td></tr></table></figure>

<h4 id="2-2-2-系统状态"><a href="#2-2-2-系统状态" class="headerlink" title="2.2.2 系统状态"></a><font size=3>2.2.2 系统状态</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">top - 16:28:51 up  8:30,  1 user,  load average: 0.08, 0.02, 0.00</span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=200px>top - 16:28:51</td><td align="left">系统当前时间</td></tr>
    <tr><td align="left" width=200px>up  8:30</td><td align="left">系统到目前为止已运行的时间</td></tr>
    <tr><td align="left" width=200px>1 user</td><td align="left">当前登录系统的用户数量</td></tr>
    <tr><td align="left" width=200px>load average: 0.08, 0.02, 0.00</td><td align="left">系统负载（任务队列的平均长度），3个数值分别为1分钟、5分钟、15分钟前到现在的平均值</td></tr>
</table>

<h4 id="2-2-3-进程状态信息"><a href="#2-2-3-进程状态信息" class="headerlink" title="2.2.3 进程状态信息"></a><font size=3>2.2.3 进程状态信息</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">任务: 296 total,   1 running, 295 sleeping,   0 stopped,   0 zombie</span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=150px>任务: 296 total</td><td align="left">所有启动的进程数</td></tr>
    <tr><td align="left" width=150px>1 running</td><td align="left">正在运行的进程数</td></tr>
    <tr><td align="left" width=150px>295 sleeping</td><td align="left">挂起的进程数</td></tr>
    <tr><td align="left" width=150px>0 stopped</td><td align="left">停止的进程数</td></tr> 
    <tr><td align="left" width=150px>0 zombie</td><td align="left">僵尸进程数</td></tr>
</table>

<h4 id="2-2-4-CPU占用情况"><a href="#2-2-4-CPU占用情况" class="headerlink" title="2.2.4 CPU占用情况"></a><font size=3>2.2.4 CPU占用情况</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">%</span><span class="language-bash">Cpu(s):  0.5 us,  0.3 sy,  0.0 ni, 99.2 <span class="built_in">id</span>,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st</span></span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=150px>0.5 us</td><td align="left">用户空间占用CPU百分比</td></tr>
    <tr><td align="left" width=150px>0.3 sy</td><td align="left">内核空间占用CPU百分比 </td></tr>
    <tr><td align="left" width=150px>0.0 ni </td><td align="left">用户进程空间内改变过优先级的进程占用CPU百分比</td></tr>
    <tr><td align="left" width=150px>99.2 id</td><td align="left">空闲CPU百分比 </td></tr>
    <tr><td align="left" width=150px>0.0 wa</td><td align="left">等待输入输入的CPU百分比</td></tr>
    <tr><td align="left" width=150px>0.0 hi</td><td align="left">硬中断占用CPU百分比</td></tr>
    <tr><td align="left" width=150px>0.0 si</td><td align="left">软中断CPU百分比</td></tr>
    <tr><td align="left" width=150px>0.0 st</td><td align="left">虚拟CPU等待实际CPU的时间的百分比</td></tr>
</table>

<h4 id="2-2-5-Mem-内存信息（物理内存）"><a href="#2-2-5-Mem-内存信息（物理内存）" class="headerlink" title="2.2.5 Mem 内存信息（物理内存）"></a><font size=3>2.2.5 Mem 内存信息（物理内存）</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">MiB Mem :   3894.5 total,   1245.9 free,   1554.8 used,   1093.8 buff/cache</span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=200px>3894.5 total</td><td align="left">物理内存总量</td></tr>
    <tr><td align="left" width=200px>1245.9 free</td><td align="left">空闲物理内存</td></tr>
    <tr><td align="left" width=200px>1554.8 used</td><td align="left">已经使用的物理内存</td></tr>
    <tr><td align="left" width=200px>1093.8 buff/cache</td><td align="left">内核缓存内存量</td></tr>
</table>

<h4 id="2-2-6-Swap-交换内存（虚拟内存）"><a href="#2-2-6-Swap-交换内存（虚拟内存）" class="headerlink" title="2.2.6 Swap 交换内存（虚拟内存）"></a><font size=3>2.2.6 Swap 交换内存（虚拟内存）</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">MiB Swap:   1162.4 total,   1162.4 free,      0.0 used.   2037.2 avail Mem </span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=150px>1162.4 total</td><td align="left">交换区总量</td></tr>
    <tr><td align="left" width=150px>1162.4 free</td><td align="left">空闲交换区总量</td></tr>
    <tr><td align="left" width=150px>0.0 used</td><td align="left">已使用交互区总量</td></tr>
    <tr><td align="left" width=150px>2037.2 avail Mem</td><td align="left">缓冲的交换区总量</td></tr>
</table>

<h4 id="2-2-7-进程信息"><a href="#2-2-7-进程信息" class="headerlink" title="2.2.7 进程信息"></a><font size=3>2.2.7 进程信息</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND</span><br></pre></td></tr></table></figure>

<table>
    <tr><td align="left" width=150px>PID</td><td align="left">进程ID</td></tr>
    <tr><td align="left" width=150px>USER</td><td align="left">进程所有者</td></tr>
    <tr><td align="left" width=150px>PR</td><td align="left">优先级</td></tr>
    <tr><td align="left" width=150px>NI</td><td align="left">nice值，负值表示高优先级，正值表示低优先级</td></tr>
    <tr><td align="left" width=150px>VIRT</td><td align="left">进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES</td></tr>
    <tr><td align="left" width=150px>RES</td><td align="left">进程使用的、未被换出的物理内存大小，单位kb,RES=CODE+DATA</td></tr>
    <tr><td align="left" width=150px>SHR</td><td align="left">共享内存大小，单位kb</td></tr>
    <tr><td align="left" width=150px>%CPU</td><td align="left">上传更新到现在的CPU时间占用百分比</td></tr>
    <tr><td align="left" width=150px>%MEM</td><td align="left">进程使用的物理内存百分比</td></tr>
    <tr><td align="left" width=150px>TIME+</td><td align="left">进程使用的CPU时间总计，单位1/100秒</td></tr>
    <tr><td align="left" width=150px>COMMAND</td><td align="left">命令名/命令行</td></tr>
</table>

<h3 id="2-3使用实例"><a href="#2-3使用实例" class="headerlink" title="2.3使用实例"></a><font size=3>2.3使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">top -p &lt;PID&gt;  # 实时查看某个进程。</span><br></pre></td></tr></table></figure>

<h2 id="3-以树状图显示进程：pstree"><a href="#3-以树状图显示进程：pstree" class="headerlink" title="3.以树状图显示进程：pstree  "></a><font size=3>3.以树状图显示进程：pstree  </font></h2><h3 id="3-1使用格式-1"><a href="#3-1使用格式-1" class="headerlink" title="3.1使用格式"></a><font size=3>3.1使用格式</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pstree [option] [PID或user_name]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center" colspan="2">说明</td></tr>    <tr><td align="center" width=200px>-a</td><td align="left">显示启动每个进程对应的完整指令，包括启动进程的路径、参数等</td></tr>    <tr><td align="center" width=200px>-c</td><td align="left">不使用精简法显示进程信息，即显示的进程中包含子进程和父进程</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">根据进程 PID 号来排序输出，默认是以程序名排序输出的</td></tr>    <tr><td align="center" width=200px>-p</td><td align="left">显示进程的 PID</td></tr>    <tr><td align="center" width=200px>-u</td><td align="left">显示进程对应的用户名称</td></tr></table>
              </div>
            </details>

<ul>
<li>PID或user_name ：要查看的进程的PID或者进程名。</li>
</ul>
<h3 id="3-2使用实例-1"><a href="#3-2使用实例-1" class="headerlink" title="3.2使用实例"></a><font size=3>3.2使用实例</font></h3><p>我们可以使用管道来只显示特定名称的进程运行情况：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">pstree [option] | grep &lt;process_name&gt;</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">例如</span></span><br><span class="line">pstree -p |grep a.out</span><br></pre></td></tr></table></figure>

<h2 id="4-终止进程：kill"><a href="#4-终止进程：kill" class="headerlink" title="4.终止进程：kill "></a><font size=3>4.终止进程：kill </font></h2><h3 id="4-1使用格式-1"><a href="#4-1使用格式-1" class="headerlink" title="4.1使用格式"></a><font size=3>4.1使用格式</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">kill -[signal] &lt;PID&gt;</span><br></pre></td></tr></table></figure>

<p> kill  命令向指定的进程发出一个信号 signal ，在默认的情况下， kill 命令向指定进程发出信号 15 ，正常情况下，将杀死那些不捕捉或不忽略这个信号的进程。</p>
<p><strong>【参数说明】</strong></p>
<ul>
<li>signal ：要发送的信号编号。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [signal] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=120px>signal编号</td><td align="center" width=200px>signal</td><td align="center">说明</td></tr>    <tr><td align="center" width=120px>0</td><td align="center" width=200px>EXIT</td><td align="left">程序退出时收到该信息</td></tr>    <tr><td align="center" width=120px>1</td><td align="center" width=200px>HUP</td><td align="left">进程重启，挂掉电话线或终端连接的挂起信号，这个信号也会造成某些进程在没有终止的情况下重新初始化</td></tr>    <tr><td align="center" width=120px>2</td><td align="center" width=200px>INT</td><td align="left">表示结束进程，但并不是强制性的，常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号</td></tr>    <tr><td align="center" width=120px>3</td><td align="center" width=200px>QUIT</td><td align="left">退出</td></tr>    <tr><td align="center" width=120px>9</td><td align="center" width=200px>KILL</td><td align="left">杀死进程，即强制结束进程</td></tr>    <tr><td align="center" width=120px>11</td><td align="center" width=200px>SEGV</td><td align="left">段错误</td></tr>    <tr><td align="center" width=120px>15</td><td align="center" width=200px>TERM</td><td align="left">正常结束进程，是 kill 命令的默认信号</td></tr></table><p>还有很多其他的，后边慢慢会接触到，特别是学习进程通信方式——信号的时候。</p>
              </div>
            </details>

<ul>
<li>PID ：发送的信号的目标进程的进程ID。</li>
</ul>
<h3 id="4-2使用实例-1"><a href="#4-2使用实例-1" class="headerlink" title="4.2使用实例"></a><font size=3>4.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">kill -9 8903 # 杀掉PID为8903的整个进程</span><br></pre></td></tr></table></figure>

<h2 id="5-查看进程堆栈：pstack"><a href="#5-查看进程堆栈：pstack" class="headerlink" title="5.查看进程堆栈：pstack "></a><font size=3>5.查看进程堆栈：pstack </font></h2><h3 id="5-1使用格式"><a href="#5-1使用格式" class="headerlink" title="5.1使用格式"></a><font size=3>5.1使用格式</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pstack &lt;pid&gt; # 一般是需要加上sudo的</span><br></pre></td></tr></table></figure>

<p>【说明】 pstack 的工作原理其实就是一个 shell 脚本，在脚本里面调用 gdb 来实现对应用进程各个线程堆栈的打印。</p>
<h3 id="5-2安装与问题解决"><a href="#5-2安装与问题解决" class="headerlink" title="5.2安装与问题解决"></a><font size=3>5.2安装与问题解决</font></h3><p>该命令可以查看指定 PID 进程的堆栈情况，不过一般来说 Linux 中似乎不自带这个命令，需要自己安装，当我们直接输入 pstack 的时候可能会收到如下提示：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Command &#x27;pstack&#x27; not found, but can be installed with:</span><br><span class="line">sudo apt install pstack</span><br></pre></td></tr></table></figure>

<p>按照提示，我们在终端输入以下命令进行安装：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo apt install pstack</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看使用问题及解决方法 </summary>
              <div class='content'>
              <p>我们直接输入一个进程号，使用 pstack 命令，例如在终端执行：</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pstack 14071 # 当时运行死锁一节笔记的测试例程时得到的进程号</span><br></pre></td></tr></table></figure><p>然后很不幸，我们会得到如下报错：</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Could not attach to target 14071: Operation not permitted.</span><br><span class="line">detach: No such process</span><br></pre></td></tr></table></figure><p>可能是没有权限，我们加上 sudo :</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pstack 14071</span><br></pre></td></tr></table></figure><p>很不幸，不出意外的话，我们可能会收到如下提示：</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">14071: ./a.out</span><br><span class="line">pstack: Input/output error</span><br><span class="line">failed to read target.</span><br></pre></td></tr></table></figure><p>这是怎么回事呢？不清楚啊，网上找了很久，似乎是因为这个命令 pstack 是一个脚本工具，它通过 apt 安装出来的程序好像是乱码，然后就不能运行了，我没有深究，按照解决办法，至少可以用了，后边研究明白了再补充吧。</p><ul><li>新建一个 pstack 文件</li></ul><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">vim pstack</span><br></pre></td></tr></table></figure><ul><li>添加以下内容并保存文件</li></ul><details class="folding-tag" blue><summary> 点击查看脚本内容 </summary>              <div class='content'>              <figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_">#</span><span class="language-bash">!/bin/sh</span></span><br><span class="line">if test $# -ne 1; then</span><br><span class="line">    echo &quot;Usage:  basename $0 .sh  &lt;process-id&gt;&quot; 1&gt;&amp;2</span><br><span class="line">    exit 1</span><br><span class="line">fi</span><br><span class="line"></span><br><span class="line">if test ! -r /proc/$1; then</span><br><span class="line">    echo &quot;Process $1 not found.&quot; 1&gt;&amp;2</span><br><span class="line">    exit 1</span><br><span class="line">fi</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">GDB doesn<span class="string">&#x27;t allow &quot;thread apply all bt&quot; when the process isn&#x27;</span>t</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">threaded; need to peek at the process to determine <span class="keyword">if</span> that or the</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">simpler <span class="string">&quot;bt&quot;</span> should be used.</span></span><br><span class="line"></span><br><span class="line">backtrace=&quot;bt&quot;</span><br><span class="line">if test -d /proc/$1/task ; then</span><br><span class="line">    # Newer kernel; has a task/ directory.</span><br><span class="line">    if test  /bin/ls /proc/$1/task | /usr/bin/wc -l  -gt 1 2&gt;/dev/null ; then</span><br><span class="line">    backtrace=&quot;thread apply all bt&quot;</span><br><span class="line">    fi</span><br><span class="line">elif test -f /proc/$1/maps ; then</span><br><span class="line">    # Older kernel; go by it loading libpthread.</span><br><span class="line">    if /bin/grep -e libpthread /proc/$1/maps &gt; /dev/null 2&gt;&amp;1 ; then</span><br><span class="line">    backtrace=&quot;thread apply all bt&quot;</span><br><span class="line">    fi</span><br><span class="line">fi</span><br><span class="line"></span><br><span class="line">GDB=$&#123;GDB:-/usr/bin/gdb&#125;</span><br><span class="line"></span><br><span class="line">if $GDB -nx --quiet --batch --readnever &gt; /dev/null 2&gt;&amp;1; then</span><br><span class="line">    readnever=--readnever</span><br><span class="line">else</span><br><span class="line">    readnever=</span><br><span class="line">fi</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">Run GDB, strip out unwanted noise.</span></span><br><span class="line"><span class="meta prompt_">$</span><span class="language-bash">GDB --quiet <span class="variable">$readnever</span> -nx /proc/<span class="variable">$1</span>/exe <span class="variable">$1</span> &lt;&lt;<span class="string">EOF 2&gt;&amp;1 |</span></span></span><br><span class="line">set width 0</span><br><span class="line">set height 0</span><br><span class="line">set pagination no</span><br><span class="line"><span class="meta prompt_">$</span><span class="language-bash"><span class="string">backtrace</span></span></span><br><span class="line">EOF</span><br><span class="line">/bin/sed -n \</span><br><span class="line">    -e &#x27;s/^\((gdb) \)*//&#x27; \</span><br><span class="line">    -e &#x27;/^#/p&#x27; \</span><br><span class="line">    -e &#x27;/^Thread/p&#x27;</span><br><span class="line"></span><br></pre></td></tr></table></figure>              </div>            </details><ul><li>pstack 配置到系统</li></ul><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo cp pstack /usr/bin</span><br></pre></td></tr></table></figure>
              </div>
            </details>

<h3 id="5-3使用实例-1"><a href="#5-3使用实例-1" class="headerlink" title="5.3使用实例"></a><font size=3>5.3使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo pstack &lt;pid&gt;</span><br></pre></td></tr></table></figure>

<p>之前做测试的时候一个打印出来的效果如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">Thread 3 (LWP 14824 &quot;a.out&quot;):</span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">0  0x00007f2f4eb6dff0 <span class="keyword">in</span> __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">1  0x00007f2f4eb66733 <span class="keyword">in</span> pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">2  0x00007ffd15297cde <span class="keyword">in</span> ?? ()</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">3  0x00005592ec341040 <span class="keyword">in</span> ?? ()</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">4  0x0000000000000000 <span class="keyword">in</span> ?? ()</span></span><br><span class="line">Thread 2 (LWP 14823 &quot;a.out&quot;):</span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">0  0x00007f2f4eb6dff0 <span class="keyword">in</span> __lll_lock_wait () from /lib/x86_64-linux-gnu/libpthread.so.0</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">1  0x00007f2f4eb66733 <span class="keyword">in</span> pthread_mutex_lock () from /lib/x86_64-linux-gnu/libpthread.so.0</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">2  0x00007ffd15297cde <span class="keyword">in</span> ?? ()</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">3  0x00005592ec341080 <span class="keyword">in</span> ?? ()</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">4  0x0000000000000000 <span class="keyword">in</span> ?? ()</span></span><br><span class="line">Thread 1 (LWP 14822 &quot;a.out&quot;):</span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">0  0x00007f2f4ea475df <span class="keyword">in</span> clock_nanosleep () from /lib/x86_64-linux-gnu/libc.so.6</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">1  0x0000000000008000 <span class="keyword">in</span> ?? ()</span></span><br><span class="line"><span class="meta prompt_">#</span><span class="language-bash">2  0x0000000000000000 <span class="keyword">in</span> ?? ()</span></span><br></pre></td></tr></table></figure>

<h2 id="6-进程线程调度和优先级：chrt"><a href="#6-进程线程调度和优先级：chrt" class="headerlink" title="6.进程线程调度和优先级：chrt"></a><font size=3>6.进程线程调度和优先级：chrt</font></h2><h3 id="6-1使用格式-1"><a href="#6-1使用格式-1" class="headerlink" title="6.1使用格式"></a><font size=3>6.1使用格式</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">chrt [options] -p [priority] pid # 一般是需要加上sudo的</span><br></pre></td></tr></table></figure>

<p>【说明】 这里我就不详细说明了，具体的使用可以查看 man 手册。</p>
<h3 id="6-2使用实例-1"><a href="#6-2使用实例-1" class="headerlink" title="6.2使用实例"></a><font size=3>6.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">hk@ubuntu-22-04:~$ chrt -m</span><br><span class="line">SCHED_OTHER 最小/最大优先级	: 0/0</span><br><span class="line">SCHED_FIFO 最小/最大优先级	: 1/99</span><br><span class="line">SCHED_RR 最小/最大优先级	: 1/99</span><br><span class="line">SCHED_BATCH 最小/最大优先级	: 0/0</span><br><span class="line">SCHED_IDLE 最小/最大优先级	: 0/0</span><br><span class="line">SCHED_DEADLINE 最小/最大优先级	: 0/0</span><br></pre></td></tr></table></figure>



<h1 id="四、文件管理"><a href="#四、文件管理" class="headerlink" title="四、文件管理"></a><font size=3>四、文件管理</font></h1><h2 id="1-查看文件信息：ls"><a href="#1-查看文件信息：ls" class="headerlink" title="1.查看文件信息：ls "></a><font size=3>1.查看文件信息：ls </font></h2><h3 id="1-1使用格式-1"><a href="#1-1使用格式-1" class="headerlink" title="1.1使用格式"></a><font size=3>1.1使用格式</font></h3><p> ls 是英文单词 list 的简写，其功能为列出目录的内容。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ls [option]</span><br></pre></td></tr></table></figure>

<p>【参数说明】</p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center" colspan="2">说明</td></tr>    <tr>        <td align="center">-a</td>        <td align="left">显示指定目录下所有子目录与文件，包括隐藏文件</td>    </tr>    <tr>        <td align="center">-l</td>        <td align="left">以列表方式显示文件的详细信息</td>    </tr>    <tr>        <td align="center">-h</td>        <td align="left">配合 -l 以人性化的方式显示文件大小</td>    </tr>    <tr>        <td align="center">-t</td>        <td align="left">将文件依建立时间之先后次序列出</td>    </tr>    <tr>        <td align="center">-R</td>        <td align="left">同时列出所有子目录层</td>    </tr></table>
              </div>
            </details>

<p><strong>【注意】</strong></p>
<p>（1）-h 参数要与 -l 参数一起使用。</p>
<p>（2）多个参数可以合并到一起书写，没有先后顺序。如 -lh 与 -hl 一样。</p>
<p>（3）ls 命令还可与通配符搭配使用</p>
<table>
    <tr>
        <td align="center" width=200px>通配符</td>
        <td align="center">说明</td>
    </tr>
    <tr>
        <td align="center" width=200px>*</td>
        <td align="left">代表文件名中所有字符</td>
    </tr>
    <tr>
        <td align="center" width=200px>?</td>
        <td align="left">代表文件名中任意一个字符</td>
    </tr>
    <tr>
        <td align="center" width=200px>[]</td>
        <td align="left">“[”和“]”将字符组括起来，表示可以匹配字符组中的任意一个。“-”用于表示字符范围。<br>[abc]:匹配a、b、c中的任意一个<br>[a-f]:匹配从a到f范围内的的任意一个字符</td>
    </tr>
    <tr>
        <td align="center" width=200px>\</td>
        <td align="left">如果要使通配符作为普通字符使用，可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。</td>
    </tr>
</table>


<h3 id="1-2使用实例-1"><a href="#1-2使用实例-1" class="headerlink" title="1.2使用实例"></a><font size=3>1.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/5linux$ ls -alh</span><br><span class="line">总用量 110M</span><br><span class="line">drwxrwxr-x  6 hk hk 4.0K 9月  28 21:32 .</span><br><span class="line">drwxr-xr-x 29 hk hk 4.0K 10月 17 11:39 ..</span><br><span class="line">drwxr-xr-x 37 hk hk 4.0K 9月  29 07:32 busybox-1.29.0</span><br><span class="line">-rwxrwxr-x  1 hk hk 2.2M 9月  28 21:32 busybox-1.29.0.tar.bz2</span><br><span class="line">drwxrwxr-x 24 hk hk 4.0K 9月  27 16:24 linux-3.14</span><br><span class="line">drwxrwxr-x 24 hk hk 4.0K 10月 17 15:16 linux-imx-rel_imx_4.1.15_2.1.0_ga</span><br><span class="line">-rwxrwxr-x  1 hk hk  97M 9月  25 17:22 linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2</span><br><span class="line">drwxrwxr-x 25 hk hk 4.0K 10月 15 17:13 uboot-imx-rel_imx_4.1.15_2.1.0_ga</span><br><span class="line">-rwxrwxr-x  1 hk hk  11M 9月  25 17:23 uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2</span><br></pre></td></tr></table></figure>

<h2 id="2-输出重定向命令："><a href="#2-输出重定向命令：" class="headerlink" title="2.输出重定向命令：&gt; "></a><font size=3>2.输出重定向命令：&gt; </font></h2><h3 id="2-1使用格式-3"><a href="#2-1使用格式-3" class="headerlink" title="2.1使用格式"></a><font size=3>2.1使用格式</font></h3><p> Linux 允许将命令执行结果<strong>重定向</strong>到一个文件，本应显示在终端上的内容<strong>保存到指定文件</strong>中,其实就相当于修改了默认输出的方向。</p>
<p>如： ls &gt; test.txt  (  test.txt 如果不存在，则创建，存在则覆盖其内容 )</p>
<p>一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">command &gt; file_name</span><br></pre></td></tr></table></figure>

<p><strong>【注意】</strong><br>（1）&gt; 输出重定向会<strong>覆盖</strong>原来的内容。</p>
<p>（2）&gt;&gt; 输出重定向则会追加到文件的<strong>尾部</strong>。</p>
<p>（3）若是 file_name 文件不存在，则会直接创建。</p>
<h3 id="2-2使用实例-2"><a href="#2-2使用实例-2" class="headerlink" title="2.2使用实例"></a><font size=3>2.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/5linux$ ls -alh &gt; test.txt</span><br><span class="line">hk@vm:~/5linux$ cat test.txt </span><br><span class="line">总用量 110M</span><br><span class="line">drwxrwxr-x  6 hk hk 4.0K 10月 20 10:21 .</span><br><span class="line">drwxr-xr-x 29 hk hk 4.0K 10月 17 11:39 ..</span><br><span class="line">drwxr-xr-x 37 hk hk 4.0K 9月  29 07:32 busybox-1.29.0</span><br><span class="line">-rwxrwxr-x  1 hk hk 2.2M 9月  28 21:32 busybox-1.29.0.tar.bz2</span><br><span class="line">drwxrwxr-x 24 hk hk 4.0K 9月  27 16:24 linux-3.14</span><br><span class="line">drwxrwxr-x 24 hk hk 4.0K 10月 17 15:16 linux-imx-rel_imx_4.1.15_2.1.0_ga</span><br><span class="line">-rwxrwxr-x  1 hk hk  97M 9月  25 17:22 linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2</span><br><span class="line">-rw-rw-r--  1 hk hk    0 10月 20 10:21 test.txt</span><br><span class="line">drwxrwxr-x 25 hk hk 4.0K 10月 15 17:13 uboot-imx-rel_imx_4.1.15_2.1.0_ga</span><br><span class="line">-rwxrwxr-x  1 hk hk  11M 9月  25 17:23 uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2</span><br></pre></td></tr></table></figure>

<h2 id="3-分屏显示：more"><a href="#3-分屏显示：more" class="headerlink" title="3.分屏显示：more "></a><font size=3>3.分屏显示：more </font></h2><p>查看内容时，在信息过长无法在一屏上显示时，会出现快速滚屏，使得用户无法看清文件的内容，此时可以使用 more 命令，每次只显示一页，按下空格键可以显示下一页，按下 q键 退出显示，按下 h键 可以获取帮助。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">more</span><br></pre></td></tr></table></figure>

<h2 id="4-管道："><a href="#4-管道：" class="headerlink" title="4.管道：| "></a><font size=3>4.管道：| </font></h2><h3 id="4-1使用格式-2"><a href="#4-1使用格式-2" class="headerlink" title="4.1使用格式"></a><font size=3>4.1使用格式</font></h3><p>一个命令的输出可以通过管道作为另一个命令的输入，一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cmd1 | cmd2</span><br></pre></td></tr></table></figure>

<h3 id="4-2使用实例-2"><a href="#4-2使用实例-2" class="headerlink" title="4.2使用实例"></a><font size=3>4.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 命令1 | 命令2</span></span><br><span class="line">ls -lh | more</span><br></pre></td></tr></table></figure>

<h2 id="5-清屏：clear"><a href="#5-清屏：clear" class="headerlink" title="5.清屏：clear "></a><font size=3>5.清屏：clear </font></h2><p>清除终端上的显示(类似于 DOS 的 cls 清屏功能)，也可使用快捷键： Ctrl + l  (  “l”  为字母 )。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">clear</span><br></pre></td></tr></table></figure>

<h2 id="6-切换工作目录：cd"><a href="#6-切换工作目录：cd" class="headerlink" title="6.切换工作目录：cd "></a><font size=3>6.切换工作目录：cd </font></h2><h3 id="6-1使用格式-2"><a href="#6-1使用格式-2" class="headerlink" title="6.1使用格式"></a><font size=3>6.1使用格式</font></h3><p> cd 命令用于更换工作目录。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd &lt;dir_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【命令说明】</strong></p>
<table>
    <tr>
        <td align="center" width=200px>命令</td>
        <td align="center">说明</td>
    </tr>
    <tr>
        <td align="center" width=200px>cd</td>
        <td align="left">切换到当前用户的主目录(/home/用户目录)，用户登陆的时候，默认的目录就是用户的主目录。</td>
    </tr>
    <tr>
        <td align="center" width=200px>cd ~</td>
        <td align="left">切换到当前用户的主目录(/home/用户目录)</td>
    </tr>
    <tr>
        <td align="center" width=200px>cd .</td>
        <td align="left">切换到当前目录</td>
    </tr>
    <tr>
        <td align="center" width=200px>cd ..</td>
        <td align="left">切换到当前目录的上一级目录</td>
    </tr>
    <tr>
        <td align="center" width=200px>cd -</td>
        <td align="left">切换到上次所在的目录</td>
    </tr>
</table>

<p><strong>【注意】</strong></p>
<p>（1）Linux 所有的目录和文件名区分大小写。</p>
<p>（2）cd 后面可跟<strong>绝对路径</strong>，也可以跟<strong>相对路径</strong>。如果省略目录，则默认切换到当前用户的主目录。</p>
<p>（3）如果路径是从根路径开始的，则路径的前面需要加上  “ &#x2F; ” ，如  “ &#x2F;mnt ” ，通常进入某个目录里的文件夹，前面不用加  “ &#x2F; ” 。</p>
<h3 id="6-2使用实例-2"><a href="#6-2使用实例-2" class="headerlink" title="6.2使用实例"></a><font size=3>6.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cd / # 进入根目录</span><br></pre></td></tr></table></figure>

<h2 id="7-显示当前路径：pwd"><a href="#7-显示当前路径：pwd" class="headerlink" title="7.显示当前路径：pwd "></a><font size=3>7.显示当前路径：pwd </font></h2><h3 id="7-1使用格式"><a href="#7-1使用格式" class="headerlink" title="7.1使用格式"></a><font size=3>7.1使用格式</font></h3><p> pwd 命令用于显示当前的工作目录。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pwd</span><br></pre></td></tr></table></figure>

<h3 id="7-2使用实例"><a href="#7-2使用实例" class="headerlink" title="7.2使用实例"></a><font size=3>7.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/5linux$ pwd</span><br><span class="line">/home/hk/5linux</span><br></pre></td></tr></table></figure>

<h2 id="8-创建目录：mkdir"><a href="#8-创建目录：mkdir" class="headerlink" title="8.创建目录：mkdir "></a><font size=3>8.创建目录：mkdir </font></h2><h3 id="8-1使用格式-1"><a href="#8-1使用格式-1" class="headerlink" title="8.1使用格式"></a><font size=3>8.1使用格式</font></h3><p> mkdir 命令用于创建一个新的目录。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mkdir [option] &lt;dir_name&gt;</span><br></pre></td></tr></table></figure>

<p>【参数说明】</p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-p</td>        <td align="left">递归创建目录</td>    </tr></table>
              </div>
            </details>

<ul>
<li>dir_name ：要创建的目录名称。</li>
</ul>
<p><strong>【注意】</strong>新建目录的名称<strong>不能</strong>与当前目录中已有的目录或文件<strong>同名</strong>，并且目录创建者必须对当前目录<strong>具有写权限</strong>。、</p>
<h3 id="8-2使用实例-1"><a href="#8-2使用实例-1" class="headerlink" title="8.2使用实例"></a><font size=3>8.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/6temp$ mkdir a</span><br><span class="line">hk@vm:~/6temp$ mkdir -p b/c/d</span><br><span class="line">hk@vm:~/6temp$ tree</span><br><span class="line">.</span><br><span class="line">├── a</span><br><span class="line">└── b</span><br><span class="line">    └── c</span><br><span class="line">        └── d</span><br><span class="line"></span><br><span class="line">4 directories, 0 files</span><br></pre></td></tr></table></figure>

<h2 id="9-删除目录：-rmdir"><a href="#9-删除目录：-rmdir" class="headerlink" title="9.删除目录： rmdir "></a><font size=3>9.删除目录： rmdir </font></h2><h3 id="9-1使用格式"><a href="#9-1使用格式" class="headerlink" title="9.1使用格式"></a><font size=3>9.1使用格式</font></h3><p> rmdir 命令用于删除一个目录。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">rm &lt;dir_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【注意】</strong>必须离开目录，并且目录必须为空目录，不然提示删除失败。</p>
<h3 id="9-2使用实例"><a href="#9-2使用实例" class="headerlink" title="9.2使用实例"></a><font size=3>9.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/6temp$ rmdir a/</span><br><span class="line">hk@vm:~/6temp$ ls</span><br><span class="line">b</span><br></pre></td></tr></table></figure>

<h2 id="10-删除文件：rm"><a href="#10-删除文件：rm" class="headerlink" title="10.删除文件：rm "></a><font size=3>10.删除文件：rm </font></h2><p> rm 命令用于删除文件或目录。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">rm [option] &lt;name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-i</td>        <td align="left">以进行交互式方式执行（提示是否确认删除）</td>    </tr>    <tr>        <td align="center" width=200px>-f</td>        <td align="left">强制删除，忽略不存在的文件，无需提示</td>    </tr>    <tr>        <td align="center" width=200px>-r</td>        <td align="left">递归地删除目录下的内容，删除文件夹时必须加此参数</td>    </tr>    <tr>        <td align="center" width=200px>-v</td>        <td align="left">显示详细的删除过程</td>    </tr></table>
              </div>
            </details>

<p><strong>【注意】</strong> rm 命令删除的文件<strong>不能恢复</strong>，严禁 sudo rm -rf &#x2F;* 。</p>
<h3 id="10-2使用实例-1"><a href="#10-2使用实例-1" class="headerlink" title="10.2使用实例"></a><font size=3>10.2使用实例</font></h3><ul>
<li>删除文件</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/6temp$ ls</span><br><span class="line">a.c  b  b.vim</span><br><span class="line"></span><br><span class="line">hk@vm:~/6temp$ rm -i a.c </span><br><span class="line">rm：是否删除普通空文件 &#x27;a.c&#x27;？ y</span><br><span class="line">hk@vm:~/6temp$ ls</span><br><span class="line">b  b.vim</span><br><span class="line"></span><br></pre></td></tr></table></figure>

<ul>
<li>删除目录</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/6temp$ rm -v b</span><br><span class="line">rm: 无法删除&#x27;b&#x27;: 是一个目录</span><br><span class="line">hk@vm:~/6temp$ rm -rv b</span><br><span class="line">removed directory &#x27;b/c/d&#x27;</span><br><span class="line">removed directory &#x27;b/c&#x27;</span><br><span class="line">removed directory &#x27;b</span><br></pre></td></tr></table></figure>

<h2 id="11-建立链接文件：ln"><a href="#11-建立链接文件：ln" class="headerlink" title="11.建立链接文件：ln "></a><font size=3>11.建立链接文件：ln </font></h2><h3 id="11-1软链接与硬链接"><a href="#11-1软链接与硬链接" class="headerlink" title="11.1软链接与硬链接"></a><font size=3>11.1软链接与硬链接</font></h3><ul>
<li>硬链接</li>
</ul>
<p>（1）硬链接只能链接普通文件，不能链接目录。</p>
<p>（2）一个源文件可以对应多个硬链接，修改任意一个硬链接，源文件及其他与源文件相关联的硬链接的内容也同步更改；修改源文件，与源文件相关联的硬链接内容也随之更改。</p>
<p>（3）删除一个硬链接，源文件及其相关的其他硬链接不受影响，删除源文件，与其相关的硬链接都不受影响。</p>
<ul>
<li>软链接</li>
</ul>
<p>（1）软链接既可以链接文件，也可以链接目录。</p>
<p>（2）一个源文件可以对应多个软链接，修改任意一个软链接，源文件及其他与源文件相关联的软链接的内容也同步更改；修改源文件，与源文件相关联的软链接内容也随之更改。</p>
<p>（3）删除软连接就相当于删除了快捷方式，源文件不会受到任何影响，但删除了源文件，与源文件相关联的所有软链接将全部失效。</p>
<p>（4）若软链接文件和源文件不在同一个目录，源文件要使用绝对路径，不能使用相对路径。</p>
<p>总的来说，<strong>硬链接相当于拷贝文件，但所有文件内容保持同步</strong>，<strong>软链接相当于快捷方式，内容保持同步</strong>，但都是访问源文件的一个名字而已。</p>
<h3 id="11-2使用格式"><a href="#11-2使用格式" class="headerlink" title="11.2使用格式"></a><font size=3>11.2使用格式</font></h3><p> ln 命令用于创建一个链接。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ln [option] &lt;source_file&gt; &lt;link_file&gt; # ln [选项] 源文件名 链接文件名</span><br></pre></td></tr></table></figure>

<p>【参数说明】</p>
<ul>
<li>option ：选项</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>ln</td>        <td align="left">建立一个硬链接文件，两个文件占用相同大小的硬盘空间，即使删除了源文件，链接文件还是存在。</td>    </tr>    <tr>        <td align="center" width=200px>ln -s</td>        <td align="left">建立一个软链接，软链接不占用磁盘空间，源文件删除则软链接失效。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>source_file ：源文件名。</li>
<li>link_file ：我们要创建的链接的名字。</li>
</ul>
<h3 id="11-3使用实例"><a href="#11-3使用实例" class="headerlink" title="11.3使用实例"></a><font size=3>11.3使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~/6temp$ touch 1.md 2.md 3.md</span><br><span class="line">hk@vm:~/6temp$ ls</span><br><span class="line">1.md  2.md  3.md</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"><span class="built_in">ln</span> 源文件 链接文件</span></span><br><span class="line">hk@vm:~/6temp$ ln 1.md hardlinks1    # 创建硬链接hardlinks1，其与1.md文件相关联</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"><span class="built_in">ln</span> -s 源文件 链接文件</span></span><br><span class="line">hk@vm:~/6temp$ ln -s 2.md softlinks1 # 创建软链接hardlinks1，其与2.md文件相关联</span><br><span class="line"></span><br><span class="line">hk@vm:~/6temp$ ls -alh</span><br><span class="line">总用量 8.0K</span><br><span class="line">drwxrwxr-x  2 hk hk 4.0K 10月 20 13:36 .</span><br><span class="line">drwxr-xr-x 29 hk hk 4.0K 10月 17 11:39 ..</span><br><span class="line">-rw-rw-r--  2 hk hk    0 10月 20 13:36 1.md</span><br><span class="line">-rw-rw-r--  1 hk hk    0 10月 20 13:36 2.md</span><br><span class="line">-rw-rw-r--  1 hk hk    0 10月 20 13:36 3.md</span><br><span class="line">-rw-rw-r--  2 hk hk    0 10月 20 13:36 hardlinks1</span><br><span class="line">lrwxrwxrwx  1 hk hk    4 10月 20 13:36 softlinks1 -&gt; 2.md</span><br></pre></td></tr></table></figure>

<h2 id="12-查看或者合并文件内容：cat、nl、head、tail"><a href="#12-查看或者合并文件内容：cat、nl、head、tail" class="headerlink" title="12.查看或者合并文件内容：cat、nl、head、tail "></a><font size=3>12.查看或者合并文件内容：cat、nl、head、tail </font></h2><h3 id="12-1使用格式"><a href="#12-1使用格式" class="headerlink" title="12.1使用格式"></a><font size=3>12.1使用格式</font></h3><p>这几个命令用于文件的内容显示。一般格式如下：</p>
<table>
    <tr>
        <td align="center" width=100px>命令</td>
        <td align="center" width=200px>参数</td>
        <td align="center">说明</td>
    </tr>
    <tr>
        <td align="center" rowspan="2" width=100px>cat</td>
        <td align="center" width=200px>-s</td>
        <td align="left">多个空行合并成一个空行显示。</td>
    </tr>
    <tr>
        <td align="center" width=200px>-b</td>
        <td align="left">加行号显示。</td>
    </tr>
    <tr>
        <td align="center" width=100px>nl</td>
        <td align="center" width=200px>无</td>
        <td align="left">直接加行号显示文件内容。</td>
    </tr>
    <tr>
        <td align="center" width=100px>head</td>
        <td align="center" width=200px>-n(n为行数)</td>
        <td align="left">显示文件前n行数据，默认是10行。</td>
    </tr>
    <tr>
        <td align="center" width=100px>tail</td>
        <td align="center" width=200px>-n(n为行数)</td>
        <td align="left">显示文件倒数n行数据，默认是10行。</td>
    </tr>
</table>

<h3 id="12-2使用实例"><a href="#12-2使用实例" class="headerlink" title="12.2使用实例"></a><font size=3>12.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 查看文件内容：<span class="built_in">cat</span> 文件名</span></span><br><span class="line">cat test.md # 直接在终端显示test.md文件内容</span><br><span class="line">cat /home/test/test.md #  可以使用绝对路径</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 合并文件内容：<span class="built_in">cat</span> 文件1 文件2 &gt;(或&gt;&gt;) 文件名</span></span><br><span class="line">cat test1.md test2.md &gt; test.md  #  清空test.md所有内容，再将两个文件内容合并</span><br><span class="line">cat test1.md test2.md &gt;&gt; test.md # 将两个文件内容追加到test.md，原有内容不会被清除</span><br></pre></td></tr></table></figure>

<h2 id="13-文本搜索：grep"><a href="#13-文本搜索：grep" class="headerlink" title="13.文本搜索：grep "></a><font size=3>13.文本搜索：grep </font></h2><h3 id="13-1使用格式"><a href="#13-1使用格式" class="headerlink" title="13.1使用格式"></a><font size=3>13.1使用格式</font></h3><p> Linux 系统中 grep 命令是一种强大的文本搜索工具， grep 允许对文本文件进行模式查找。如果找到匹配模式，  grep 打印包含模式的所有行。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">grep [option] &lt;name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-v</td>        <td align="left">显示不包含匹配文本的所有行（相当于求反）</td>    </tr>    <tr>        <td align="center" width=200px>-n</td>        <td align="left">显示匹配行与行号</td>    </tr>    <tr>        <td align="center" width=200px>-i</td>        <td align="left">忽略大小写</td>    </tr>    <tr>        <td align="center" width=200px>-r</td>        <td align="left">以递归的方式查找符合条件的文件。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>name：要查找的内容。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>（1）在 grep 命令中输入字符串参数时，最好引号或双引号括起来。例如： grep ‘a’ 1.txt 。</p>
<p>（2）grep 搜索内容串可以是<strong>正则表达式</strong>。</p>
<table>
    <tr>
        <td align="center" width=100px>表达式</td>
        <td align="center">说明</td>
    </tr>
    <tr>
        <td align="center" width=100px>^</td>
        <td align="left">表示行首<br>如：grep '^a' test.txt表示搜索该文件中以a开头的行</td>
    </tr>
    <tr>
        <td align="center" width=100px>$</td>
        <td align="left">行尾<br>如：grep 'm$' test.txt表示搜索该文件中以m结尾的行</td>
    </tr>
    <tr>
        <td align="center" width=100px>[]</td>
        <td align="left">“[”和“]”将字符组括起来，表示可以匹配字符组中的任意一个。“-”用于表示字符范围。[abc]:匹配a、b、c中的任意一个[a-f]:匹配从a到f范围内的的任意一个字符</td>
    </tr>
    <tr>
        <td align="center" width=100px>.</td>
        <td align="left">(点)匹配一个非换行符的字符</td>
    </tr>
</table>


<h3 id="13-2使用实例"><a href="#13-2使用实例" class="headerlink" title="13.2使用实例"></a><font size=3>13.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ grep -r update /etc/acpi</span><br><span class="line">/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys --update</span><br><span class="line"></span><br><span class="line">hk@vm:~$ grep -n -r update /etc/acpi</span><br><span class="line">/etc/acpi/events/thinkpad-cmos:7:action=/usr/sbin/thinkpad-keys --update</span><br></pre></td></tr></table></figure>

<h2 id="14-查找文件：find"><a href="#14-查找文件：find" class="headerlink" title="14.查找文件：find "></a><font size=3>14.查找文件：find </font></h2><h3 id="14-1使用格式"><a href="#14-1使用格式" class="headerlink" title="14.1使用格式"></a><font size=3>14.1使用格式</font></h3><p> find 命令用于通常用来在特定的目录下搜索符合条件的文件，也可以用来搜索特定用户属主的文件。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">find &lt;dir&gt; [option] &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>dir ：要查找的目录。</li>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=300px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=300px>-name</td>        <td align="center">查找名字</td>    </tr>    <tr>        <td align="center" width=300px>-size</td>        <td align="center">查找大小</td>    </tr>    <tr>        <td align="center" width=300px>-perm</td>        <td align="center">查找权限</td>    </tr></table>
              </div>
            </details>

<ul>
<li>file_name ：要查找的文件名。</li>
</ul>
<h3 id="14-2使用实例"><a href="#14-2使用实例" class="headerlink" title="14.2使用实例"></a><font size=3>14.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. find 要查找的文件夹 -name 要查找的文件名</span></span><br><span class="line">find ./ -name test.sh	查找当前目录下所有名为test.sh的文件</span><br><span class="line">find ./ -name &#x27;*.sh&#x27;	查找当前目录下所有后缀为.sh的文件</span><br><span class="line">find ./ -name &quot;[A-Z]*&quot;	查找当前目录下所有以大写字母开头的文件</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. find 要查找的文件夹 -size 文件大小</span></span><br><span class="line">find /tmp -size 2M	查找在/tmp 目录下等于2M的文件</span><br><span class="line">find /tmp -size +2M	查找在/tmp 目录下大于2M的文件</span><br><span class="line">find /tmp -size -2M	查找在/tmp 目录下小于2M的文件</span><br><span class="line">find ./ -size +4k -size -5M	查找当前目录下大于4k，小于5M的文件</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 3. find 要查找的文件夹 -perm 文件大小</span></span><br><span class="line">find ./ -perm 0777	查找当前目录下权限为 777 的文件或目录</span><br></pre></td></tr></table></figure>

<h2 id="15-拷贝文件：-cp"><a href="#15-拷贝文件：-cp" class="headerlink" title="15.拷贝文件： cp "></a><font size=3>15.拷贝文件： cp </font></h2><h3 id="15-1使用格式"><a href="#15-1使用格式" class="headerlink" title="15.1使用格式"></a><font size=3>15.1使用格式</font></h3><p> cp 命令用于将给出的文件或目录复制到另一个文件或目录中。需要注意的是cp命令在复制的时候，若是不加-p参数，将会修改新文件的时间等的相关信息。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp [option] &lt;source_name&gt; &lt;target_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-a</td>        <td align="left">该选项通常在复制目录时使用，它保留链接、文件属性，并递归地复制目录，简单而言，保持文件原有属性。</td>    </tr>    <tr>        <td align="center" width=200px>-f</td>        <td align="left">覆盖已经存在的目标文件而不给出提示</td>    </tr>    <tr>        <td align="center" width=200px>-i</td>        <td align="left">交互式复制，在覆盖目标文件之前给出提示，要求用户确认是否覆盖，回答 y 时目标文件将被覆盖</td>    </tr>    <tr>        <td align="center" width=200px>-r</td>        <td align="left">若给出的源文件是目录文件，则cp将递归复制该目录下的所有子目录和文件，目标文件必须为一个目录名。</td>    </tr>    <tr>        <td align="center" width=200px>-v</td>        <td align="left">显示拷贝进度</td>    </tr>    <tr>        <td align="center" width=200px>-p</td>        <td align="left">除复制文件的内容外，还把修改时间和访问权限也复制到新文件中。</td>    </tr></table>
              </div>
            </details>

<ul>
<li>source_name ：要拷贝的源文件名。</li>
<li>target_name ：拷贝后的名称。</li>
</ul>
<h3 id="15-2使用实例"><a href="#15-2使用实例" class="headerlink" title="15.2使用实例"></a><font size=3>15.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. <span class="built_in">cp</span> [参数] 要复制的文件或文件夹 目标文件夹</span> </span><br><span class="line">cp –r test/ newtest # 将当前目录 test/ 下的所有文件复制到新目录 newtest 下</span><br></pre></td></tr></table></figure>

<h2 id="16-移动文件：mv"><a href="#16-移动文件：mv" class="headerlink" title="16.移动文件：mv "></a><font size=3>16.移动文件：mv </font></h2><h3 id="16-1使用格式"><a href="#16-1使用格式" class="headerlink" title="16.1使用格式"></a><font size=3>16.1使用格式</font></h3><p> mv （英文全拼： move file ）命令用来为文件或目录改名、或将文件或目录移入其它位置。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mv [option] source_file(文件) target_file(文件)</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-f</td>        <td align="left">如果指定移动的源目录或文件与目标的目录或文件同名，不会询问，直接覆盖旧文件。</td>    </tr>    <tr>        <td align="center" width=200px>-i</td>        <td align="left">如果指定移动的源目录或文件与目标的目录或文件同名，则会先询问是否覆盖旧文件，输入 y 表示直接覆盖，输入 n 表示取消该操作。</td>    </tr>    <tr>        <td align="center" width=200px>-b</td>        <td align="left">当目标文件或目录存在时，在执行覆盖前，会为其创建一个备份。</td>    </tr>    <tr>        <td align="center" width=200px>-n</td>        <td align="left">不要覆盖任何已存在的文件或目录。</td>    </tr>    <tr>        <td align="center" width=200px>-u</td>        <td align="left">当源文件比目标文件新或者目标文件不存在时，才执行移动操作。</td>    </tr>    <tr>        <td align="center" width=200px>-v</td>        <td align="left">显示移动进度</td>    </tr></table>
              </div>
            </details>

<ul>
<li>source_file ：要移动的源文件，可以是目录。</li>
<li>target_file ：要移动的目标文件，可以是目录。</li>
</ul>
<h3 id="16-2使用实例"><a href="#16-2使用实例" class="headerlink" title="16.2使用实例"></a><font size=3>16.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 修改文件名：<span class="built_in">mv</span> source_file(文件) dest_file(文件)</span></span><br><span class="line">mv a b          # 将文件 a 改名为 b </span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 移动文件：<span class="built_in">mv</span> source_file(文件) dest_directory(目录)</span></span><br><span class="line">mv test/ mvtest # 将 test 目录放入 mvtest 目录中。注意，如果 mvtest 目录不存在，则该命令将 test 改名为 mvtest。</span><br></pre></td></tr></table></figure>

<h2 id="17-归档管理：tar"><a href="#17-归档管理：tar" class="headerlink" title="17.归档管理：tar "></a><font size=3>17.归档管理：tar </font></h2><h3 id="17-1使用格式"><a href="#17-1使用格式" class="headerlink" title="17.1使用格式"></a><font size=3>17.1使用格式</font></h3><p> 此命令可以把一系列文件归档到一个大文件中，也可以把档案文件解开以恢复数据。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">tar [option] &lt;压缩包包名&gt; [-C] &lt;target_dir&gt; # 解压</span><br><span class="line">tar [option] &lt;压缩包包名&gt; &lt;文件名&gt;           # 压缩</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td width=100px align="center">参数</td>        <td align="center">说明</td>    </tr>    <tr>        <td width=100px align="center">-c</td>        <td align="left">生成档案文件，创建打包文件</td>    </tr>    <tr>        <td width=100px align="center">-v</td>        <td align="left">列出归档解档的详细过程，显示进度</td>    </tr>    <tr>        <td width=100px align="center">-f</td>        <td align="left">指定档案文件名称，f后面一定是.tar文件，所以必须放选项最后		</td>    </tr>    <tr>        <td width=100px align="center">-t</td>        <td align="left">列出档案中包含的文件</td>    </tr>    <tr>        <td width=100px align="center">-x</td>        <td align="left">解开档案文件</td>    </tr>    <tr>        <td width=100px align="center">-r</td>        <td align="left">向压缩归档文件末尾追加文件</td>    </tr>    <tr>        <td width=100px align="center">-z</td>        <td width=100px align="left">调用gzip实现一个压缩的功能<br>指定压缩包的格式为：file.tar.gz</td>    </tr>    <tr>        <td width=100px align="center">-j</td>        <td width=100px align="left">调用bzip2实现一个压缩的功能<br>指定压缩包的格式为：file.tar.bz2</td>    </tr>    <tr>        <td width=100px align="center">-C 目录（C为大写）</td>        <td width=100px align="left">指定解打包位置</td>    </tr></table>
              </div>
            </details>

<p><strong>【注意】</strong></p>
<p>（1）一般打包或者解包默认都是当前目录，若是想要打包或者解包到其他目录的话，就需要使用 -C 参数。</p>
<p>（2）tar 命令很特殊，其参数前面可以使用 “-” ，也可以不使用。</p>
<p>（3）除了 f 需要放在参数的最后，其它参数的顺序任意。</p>
<p>（4）tar 这个命令并没有压缩的功能，它只是一个打包的命令，但是在 tar 命令中增加一个选项 -z 可以调用 gzip 实现一个压缩的功能，实行一个先打包后压缩的过程。</p>
<h3 id="17-2使用实例"><a href="#17-2使用实例" class="headerlink" title="17.2使用实例"></a><font size=3>17.2使用实例</font></h3><h4 id="17-2-1压缩用法"><a href="#17-2-1压缩用法" class="headerlink" title="17.2.1压缩用法"></a><font size=3>17.2.1压缩用法</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 压缩file.tar：tar –cvf 压缩包包名 文件名</span></span><br><span class="line">tar –cvf jpg.tar *.jpg  # 将当前目录里所有jpg文件打包成jpg.tar</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 压缩file.tar.gz用：tar -zcvf 压缩包包名 文件1 文件2 ...</span></span><br><span class="line">tar -zcvf test.tar.gz *  # 将当前路径下所有文件及文件夹打包并压缩到test.tar.gz文件</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 3. 压缩file.tar.bz2用法：tar -jcvf 压缩包包名 文件1 文件2 ...</span></span><br><span class="line">tar -jcvf test.tar.bz2 *  # 将当前路径下所有文件及文件夹打包并压缩到test.tar.bz2文件</span><br><span class="line"></span><br></pre></td></tr></table></figure>

<h4 id="17-2-2解压用法"><a href="#17-2-2解压用法" class="headerlink" title="17.2.2解压用法"></a><font size=3>17.2.2解压用法</font></h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 解压file.tar：tar –xvf 压缩包包名</span></span><br><span class="line">tar –xvf jpg.tar  # 解压jpg.tar包到当前文件夹</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 解压file.tar到指定目录：tar -xvf 压缩包包名 -C 文件夹名称</span></span><br><span class="line">tar -xvf test.tar -C  /test  # 将test.tar文件解压到 /test文件夹下。</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 3. 解压file.tar.gz： tar -zxvf 压缩包包名</span></span><br><span class="line">tar -zxvf test.tar.gz  # 将test.tar.gz文件解压到当前文件夹。</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 4. 解压file.tar.gz到指定目录：tar -zxvf 压缩包包名 -C 文件夹名称</span></span><br><span class="line">tar -zxvf test.tar.gz -C  /test  # 将test.tar.gz文件解压到 /test文件夹下。</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 5. 解压file.tar.bz2： tar -jxvf 压缩包包名</span></span><br><span class="line">tar -jxvf test.tar.bz2  # 将test.tar.bz2文件解压到当前文件夹。</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 6. 解压file.tar.bz2到指定目录：tar -jxvf 压缩包包名 -C 文件夹名称</span></span><br><span class="line">tar -jxvf test.tar.bz2 -C  /test  # 将test.tar.bz2文件解压到 /test文件夹下。</span><br></pre></td></tr></table></figure>

<h2 id="18-文件压缩解压：gzip"><a href="#18-文件压缩解压：gzip" class="headerlink" title="18.文件压缩解压：gzip "></a><font size=3>18.文件压缩解压：gzip </font></h2><h3 id="18-1使用格式"><a href="#18-1使用格式" class="headerlink" title="18.1使用格式"></a><font size=3>18.1使用格式</font></h3><p> tar 与 gzip 命令结合使用实现文件打包、压缩。  tar 只负责打包文件，但不压缩，用 gzip 压缩 tar 打包后的文件，其扩展名一般用 xxxx.tar.gz 。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">gzip [option] &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=300px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=300px>-d</td>        <td align="left">解压</td>    </tr>    <tr>        <td align="center" width=300px>-r</td>        <td align="left">压缩所有子目录</td>    </tr></table>
              </div>
            </details>

<ul>
<li>file_name ：要压缩或者解压的文件名。</li>
</ul>
<p><strong>【注意】</strong></p>
<p>（1）一般来说都是隐藏在 tar 命令参数中(-z表示)，不然需要先打包，再压缩，略显繁琐。</p>
<p>（2）一般打包或者解压默认在当前目录中进行。</p>
<h3 id="18-2使用实例"><a href="#18-2使用实例" class="headerlink" title="18.2使用实例"></a><font size=3>18.2使用实例</font></h3><p>一般不直接使用，而是放在 tar 命令中调用。</p>
<h2 id="19-文件压缩解压：-bzip2"><a href="#19-文件压缩解压：-bzip2" class="headerlink" title="19.文件压缩解压： bzip2 "></a><font size=3>19.文件压缩解压： bzip2 </font></h2><h3 id="19-1使用格式"><a href="#19-1使用格式" class="headerlink" title="19.1使用格式"></a><font size=3>19.1使用格式</font></h3><p> tar 与 bzip2 命令结合使用实现文件打包、压缩(用法和 gzip 一样)。 tar 只负责打包文件，但不压缩，用 bzip2 压缩 tar 打包后的文件，其扩展名一般用 xxxx.tar.bz2 。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">bzip2 &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【注意】</strong>一般来说都是隐藏在 tar 命令参数中(-j表示)，不然需要先打包，再压缩，略显繁琐。</p>
<h3 id="19-2使用实例"><a href="#19-2使用实例" class="headerlink" title="19.2使用实例"></a><font size=3>19.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 压缩用法：tar -jcvf 压缩包包名 文件...</span></span><br><span class="line">tar jcvf bk.tar.bz2 *.c</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 解压用法：tar -jxvf 压缩包包名</span> </span><br><span class="line">tar jxvf bk.tar.bz2</span><br></pre></td></tr></table></figure>

<h2 id="20-文件压缩解压：-zip、unzip"><a href="#20-文件压缩解压：-zip、unzip" class="headerlink" title="20.文件压缩解压： zip、unzip "></a><font size=3>20.文件压缩解压： zip、unzip </font></h2><h3 id="20-1使用格式"><a href="#20-1使用格式" class="headerlink" title="20.1使用格式"></a><font size=3>20.1使用格式</font></h3><p>通过 zip 压缩文件的目标文件不需要指定扩展名，默认扩展名为 xxx.zip 。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">zip [option] &lt;file_name&gt;</span><br><span class="line">unzip [option] &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=300px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=300px>-d</td>        <td align="left">解压</td>    </tr>    <tr>        <td align="center" width=300px>-r</td>        <td align="left">压缩所有子目录</td>    </tr></table>
              </div>
            </details>

<ul>
<li>file_name ：要压缩或者解压的文件名。</li>
</ul>
<h3 id="20-2使用实例"><a href="#20-2使用实例" class="headerlink" title="20.2使用实例"></a><font size=3>20.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 1. 压缩文件：zip -r 目标文件(没有扩展名) 源文件</span></span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash"> 2. 解压文件：unzip -d 解压后目录文件 压缩文件</span></span><br></pre></td></tr></table></figure>

<h2 id="21-查看命令位置：-which"><a href="#21-查看命令位置：-which" class="headerlink" title="21.查看命令位置： which "></a><font size=3>21.查看命令位置： which </font></h2><h3 id="21-1使用格式"><a href="#21-1使用格式" class="headerlink" title="21.1使用格式"></a><font size=3>21.1使用格式</font></h3><p> Linux which 命令用于查找文件。 which 指令会在环境变量 $PATH 设置的目录里查找符合条件的文件，所以多用于查看命令的位置。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">which &lt;command_name&gt;</span><br></pre></td></tr></table></figure>

<h3 id="21-2使用实例"><a href="#21-2使用实例" class="headerlink" title="21.2使用实例"></a><font size=3>21.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">which bash # 显示bash命令的位置</span><br></pre></td></tr></table></figure>

<h2 id="22-查看目录结构：-tree"><a href="#22-查看目录结构：-tree" class="headerlink" title="22.查看目录结构： tree "></a><font size=3>22.查看目录结构： tree </font></h2><h3 id="22-1使用格式"><a href="#22-1使用格式" class="headerlink" title="22.1使用格式"></a><font size=3>22.1使用格式</font></h3><p> tree 用于以树状图列出目录的内容。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">tree [option] [num]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=300px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=300px>-a</td>        <td align="left">显示所有文件和目录</td>    </tr>    <tr>        <td align="center" width=300px>-A</td>        <td align="left">用ASNI绘图字符显示树状图而非以ASCII字符组合</td>    </tr>    <tr>        <td align="center" width=300px>-C</td>        <td align="left">在文件和目录清单加上色彩，便于区分各种类型</td>    </tr>    <tr>        <td align="center" width=300px>-d</td>        <td align="left">显示目录名称而非内容</td>    </tr>    <tr>        <td align="center" width=300px>-L</td>        <td align="left"> level 限制目录显示层级</td>    </tr></table>
              </div>
            </details>

<ul>
<li>num ：要显示的目录层数。</li>
</ul>
<h3 id="22-2使用实例"><a href="#22-2使用实例" class="headerlink" title="22.2使用实例"></a><font size=3>22.2使用实例</font></h3><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">tree -L 3 # 列出该目录下3层目录树</span><br></pre></td></tr></table></figure>

<h2 id="23-查看文件类型：-file"><a href="#23-查看文件类型：-file" class="headerlink" title="23.查看文件类型： file "></a><font size=3>23.查看文件类型： file </font></h2><h3 id="23-1使用格式"><a href="#23-1使用格式" class="headerlink" title="23.1使用格式"></a><font size=3>23.1使用格式</font></h3><p> file 命令用于辨识文件类型。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">file [option] &lt;file_name&gt;</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr>        <td align="center" width=200px>option</td>        <td align="center">说明</td>    </tr>    <tr>        <td align="center" width=200px>-b</td>        <td align="left">列出辨识结果时，不显示文件名称。</td>    </tr>    <tr>        <td align="center" width=200px>-c</td>        <td align="left">详细显示指令执行过程，便于排错或分析程序执行的情形。</td>    </tr>    <tr>        <td align="center" width=200px>-l</td>        <td align="left">直接显示符号连接所指向的文件的类别。</td>    </tr>    <tr>        <td align="center" width=200px>-v</td>        <td align="left">显示版本信息。</td>    </tr>    <tr>        <td align="center" width=200px>-z</td>        <td align="left"> 尝试去解读压缩文件的内容。</td>    </tr>    <tr>        <td align="center" width=200px>-f<名称文件> </td>        <td align="left"> 指定名称文件，其内容有一个或多个文件名称时，让file依序辨识这些文件，格式为每列一个文件名称。</td>    </tr>    <tr>        <td align="center" width=200px>-m<魔法数字文件></td>        <td align="left"> 指定魔法数字文件。</td>    </tr></table>
              </div>
            </details>

<h3 id="23-2使用实例"><a href="#23-2使用实例" class="headerlink" title="23.2使用实例"></a><font size=3>23.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash">1. 查看文件类型</span></span><br><span class="line">file test.c</span><br></pre></td></tr></table></figure>

<h1 id="五、系统管理"><a href="#五、系统管理" class="headerlink" title="五、系统管理"></a><font size=3>五、系统管理</font></h1><h2 id="1-查看当前日历：-cal"><a href="#1-查看当前日历：-cal" class="headerlink" title="1.查看当前日历： cal "></a><font size=3>1.查看当前日历： cal </font></h2><h3 id="1-1使用格式-2"><a href="#1-1使用格式-2" class="headerlink" title="1.1使用格式"></a><font size=3>1.1使用格式</font></h3><p> cal 命令用于查看当前的日历，一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cal [ option ] [ 月份 ] [ 年份 ]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<table>
    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>
    <tr><td align="center" width=200px>-l</td><td align="left">显示单月输出</td></tr>
    <tr><td align="center" width=200px>-3</td><td align="left">显示系统前一个月，当前月，下一个月的日历</td></tr>
    <tr><td align="center" width=200px>-s</td><td align="left">将星期日作为月的第一天</td></tr>
    <tr><td align="center" width=200px>-m</td><td align="left">显示星期一作为一周的第一天(缺省为星期日.)</td></tr>
    <tr><td align="center" width=200px>-j</td><td align="left">显示在当年中的第几天(一年日期按天算，从1月1号算起，默认显示当前月在一年中的天数)</td></tr>
    <tr><td align="center" width=200px>-y</td><td align="left">显示当前年份的日历</td></tr>
</table>


<ul>
<li>月份：显示指定的月份日历。</li>
<li>年份：显示指定年份的日历。</li>
</ul>
<h3 id="1-2使用实例-2"><a href="#1-2使用实例-2" class="headerlink" title="1.2使用实例"></a><font size=3>1.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ cal</span><br><span class="line">      十月 2022         </span><br><span class="line">日 一 二 三 四 五 六  </span><br><span class="line">                   1  </span><br><span class="line"> 2  3  4  5  6  7  8  </span><br><span class="line"> 9 10 11 12 13 14 15  </span><br><span class="line">16 17 18 19 20 21 22  </span><br><span class="line">23 24 25 26 27 28 29  </span><br><span class="line">30 31                 </span><br><span class="line">hk@vm:~$ cal 5 1997</span><br><span class="line">      五月 1997         </span><br><span class="line">日 一 二 三 四 五 六  </span><br><span class="line">             1  2  3  </span><br><span class="line"> 4  5  6  7  8  9 10  </span><br><span class="line">11 12 13 14 15 16 17  </span><br><span class="line">18 19 20 21 22 23 24  </span><br><span class="line">25 26 27 28 29 30 31 </span><br></pre></td></tr></table></figure>

<h2 id="2-显示或设置时间：-date"><a href="#2-显示或设置时间：-date" class="headerlink" title="2.显示或设置时间： date "></a><font size=3>2.显示或设置时间： date </font></h2><h3 id="2-1使用格式-4"><a href="#2-1使用格式-4" class="headerlink" title="2.1使用格式"></a><font size=3>2.1使用格式</font></h3><p> date 命令可以按照指定格式显示日期，只键入 date 则以默认格式显示当前时间。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">date [option] [+输出形式] [MMDDhhmm[[CC]YY][.ss]]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项。</li>
</ul>
<table>
    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>
    <tr><td align="center" width=200px>-d datestr</td><td align="left">显示 datestr 中所设定的时间 (非系统时间)</td></tr>
    <tr><td align="center" width=200px>-s datestr</td><td align="left">将系统时间设为 datestr 中所设定的时间</td></tr>
    <tr><td align="center" width=200px>-u</td><td align="left">显示目前的格林威治时间</td></tr>
    <tr><td align="center" width=200px>--version</td><td align="left">显示版本编号</td></tr>
    <tr><td align="center" width=200px>--help</td><td align="left">显示辅助讯息</td></tr>
</table>


<ul>
<li>+输出形式：表示输出的格式，我们可以自己定义。</li>
</ul>
<details class="folding-tag" blue><summary> 点击查看自动以时间显示格式 </summary>
              <div class='content'>
              <p>那么如果想要自己定义时间显示的格式呢？可以这样</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">date &quot;+现在时间是： %Y-%m-%d %H:%M:%S&quot;</span><br></pre></td></tr></table></figure><div class="tabs" id="datetab"><ul class="nav-tabs"><li class="tab active"><a href="#datetab-1">时间说明</a></li><li class="tab"><a href="#datetab-2">日期说明</a></li></ul><div class="tab-content"><div class="tab-pane active" id="datetab-1"><details class="folding-tag" blue><summary> 点击查看时间格式化字符详细说明 </summary>              <div class='content'>              <table>    <tr><td align="center" width=200px>% </td><td align="left">印出 %</td></tr>    <tr><td align="center" width=200px>%n</td><td align="left">下一行</td></tr>    <tr><td align="center" width=200px>%t</td><td align="left">跳格</td></tr>    <tr><td align="center" width=200px>%H</td><td align="left">小时(00..23)</td></tr>    <tr><td align="center" width=200px>%I</td><td align="left">小时(01..12)</td></tr>    <tr><td align="center" width=200px>%k</td><td align="left">小时(0..23)</td></tr>    <tr><td align="center" width=200px>%l</td><td align="left">小时(1..12)</td></tr>    <tr><td align="center" width=200px>%M</td><td align="left">分钟(00..59)</td></tr>    <tr><td align="center" width=200px>%p</td><td align="left">显示本地 AM 或 PM</td></tr>    <tr><td align="center" width=200px>%r</td><td align="left">直接显示时间 (12 小时制，格式为 hh:mm:ss [AP]M)</td></tr>    <tr><td align="center" width=200px>%s</td><td align="left">从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数</td></tr>    <tr><td align="center" width=200px>%S</td><td align="left">秒(00..61)</td></tr>    <tr><td align="center" width=200px>%T</td><td align="left">直接显示时间 (24 小时制)</td></tr>    <tr><td align="center" width=200px>%X</td><td align="left">相当于 %H:%M:%S</td></tr>    <tr><td align="center" width=200px>%Z</td><td align="left">显示时区</td></tr></table>              </div>            </details></div><div class="tab-pane" id="datetab-2"><details class="folding-tag" blue><summary> 点击查看日期格式化字符详细说明 </summary>              <div class='content'>              <table>    <tr><td align="center" width=200px>%a</td><td align="left">星期几 (Sun..Sat)</td></tr>    <tr><td align="center" width=200px>%A</td><td align="left">星期几 (Sunday..Saturday)</td></tr>    <tr><td align="center" width=200px>%b</td><td align="left">月份 (Jan..Dec)</td></tr>    <tr><td align="center" width=200px>%B</td><td align="left">月份 (January..December)</td></tr>    <tr><td align="center" width=200px>%c</td><td align="left">直接显示日期与时间</td></tr>    <tr><td align="center" width=200px>%d</td><td align="left">日 (01..31)</td></tr>    <tr><td align="center" width=200px>%D</td><td align="left">直接显示日期 (mm/dd/yy)</td></tr>    <tr><td align="center" width=200px>%h</td><td align="left">同 %b</td></tr>    <tr><td align="center" width=200px>%j</td><td align="left">一年中的第几天 (001..366)</td></tr>    <tr><td align="center" width=200px>%m</td><td align="left">月份 (01..12)</td></tr>    <tr><td align="center" width=200px>%U</td><td align="left">一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)</td></tr>    <tr><td align="center" width=200px>%w</td><td align="left">一周中的第几天 (0..6)</td></tr>    <tr><td align="center" width=200px>%W</td><td align="left">一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)</td></tr>    <tr><td align="center" width=200px>%x</td><td align="left">直接显示日期 (mm/dd/yy)</td></tr>    <tr><td align="center" width=200px>%y</td><td align="left">年份的最后两位数字 (00.99)</td></tr>    <tr><td align="center" width=200px>%Y</td><td align="left">完整年份 (0000..9999)</td></tr></table>              </div>            </details></div></div></div>
              </div>
            </details>

<p><strong>【注意】</strong>若是不以加号( + )作为开头，则表示要设定时间，而时间格式为  MMDDhhmm[[CC]YY][.ss] ，其中  MM  为月份， DD  为日， hh  为小时， mm  为分钟， CC  为年份前两位数字， YY  为年份后两位数字， ss  为秒数。当我们不希望出现无意义的 0 时(比如说 2020&#x2F;01&#x2F;01)，则可以在标记中插入  -  符号，比如说  date ‘+%-H:%-M:%-S’  会把时分秒中无意义的  0  给去掉，像是原本的  09:09:09  会变为  9:9:9 。另外，只有取得权限者(比如说  root )才能设定系统时间。当我们以  root  身分更改了系统时间之后，要以  clock -w  来将系统时间写入  CMOS  中，这样下次重新开机时系统时间才会持续保持最新的正确值。</p>
<h3 id="2-2使用实例-3"><a href="#2-2使用实例-3" class="headerlink" title="2.2使用实例"></a><font size=3>2.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ date &quot;+现在时间是： %Y-%m-%d %H:%M:%S&quot;</span><br><span class="line">现在时间是： 2022-10-20 14:28:14</span><br><span class="line"></span><br><span class="line">hk@vm:~$ date</span><br><span class="line">2022年 10月 20日 星期四 14:28:19 CST</span><br></pre></td></tr></table></figure>

<h2 id="3-关机重启：-reboot、shutdown、init"><a href="#3-关机重启：-reboot、shutdown、init" class="headerlink" title="3.关机重启： reboot、shutdown、init "></a><font size=3>3.关机重启： reboot、shutdown、init </font></h2><h3 id="3-1-reboot"><a href="#3-1-reboot" class="headerlink" title="3.1 reboot "></a><font size=3>3.1 reboot </font></h3><p> reboot 命令用于重启系统，一般就直接 reboot 就可以了，它也有一些参数，但是似乎没用过，这里就不写了。</p>
<h3 id="3-2-shutdown"><a href="#3-2-shutdown" class="headerlink" title="3.2 shutdown "></a><font size=3>3.2 shutdown </font></h3><p> shutdown  命令可以用来进行定时关机，并且在关机以前传送讯息给所有使用者正在执行的程序，也可以用来重开机。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">shutdown [-t seconds] [-rkhncfF] time [message]</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看参数说明 </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>参数</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-t seconds</td><td align="left">设定在几秒钟之后进行关机程序</td></tr>    <tr><td align="center" width=200px>-k</td><td align="left">并不会真的关机，只是将警告讯息传送给所有使用者</td></tr>    <tr><td align="center" width=200px>-r</td><td align="left">关机后重新开机</td></tr>    <tr><td align="center" width=200px>-h</td><td align="left">关机后停机</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">不采用正常程序来关机，用强迫的方式杀掉所有执行中的程序后自行关机</td></tr>    <tr><td align="center" width=200px>-c</td><td align="left">取消目前已经进行中的关机动作</td></tr>    <tr><td align="center" width=200px>-f</td><td align="left">关机时，不做 fsck 动作(检查 Linux 档系统)</td></tr>    <tr><td align="center" width=200px>-F</td><td align="left">关机时，强迫进行 fsck 动作</td></tr>    <tr><td align="center" width=200px>time</td><td align="left">设定关机的时间</td></tr>    <tr><td align="center" width=200px>message</td><td align="left">传送给所有使用者的警告讯息</td></tr></table>
              </div>
            </details>

<h3 id="3-3-init"><a href="#3-3-init" class="headerlink" title="3.3 init "></a><font size=3>3.3 init </font></h3><p> init 命令是 Linux 下的进程初始化工具， init 进程是所有 Linux 进程的父进程，它的进程号为 1 ，是 Linux 内核引导运行的，是系统中的第一个进程。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">init [option]</span><br></pre></td></tr></table></figure>

<p><strong>【参数说明】</strong></p>
<ul>
<li>option ：选项</li>
</ul>
<table>
    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>
    <tr><td align="center" width=200px>0</td><td align="left">停机或者关机(不能将init default设置为0)</td></tr>
    <tr><td align="center" width=200px>1</td><td align="left">单用户模式，只root用户进行维护</td></tr>
    <tr><td align="center" width=200px>2</td><td align="left">多用户模式，不能使用NFS(Net File System)</td></tr>
    <tr><td align="center" width=200px>3</td><td align="left">完全多用户模式(标准的运行级别)</td></tr>
    <tr><td align="center" width=200px>4</td><td align="left">安全模式</td></tr>
    <tr><td align="center" width=200px>5</td><td align="left">图形化(即图形界面)</td></tr>
    <tr><td align="center" width=200px>6</td><td align="left">重启(不要把init default设置为6)</td></tr>
</table>


<h2 id="4-检测磁盘空间：-df"><a href="#4-检测磁盘空间：-df" class="headerlink" title="4.检测磁盘空间： df "></a><font size=3>4.检测磁盘空间： df </font></h2><h3 id="4-1使用格式-3"><a href="#4-1使用格式-3" class="headerlink" title="4.1使用格式"></a><font size=3>4.1使用格式</font></h3><p> df 命令作用是列出文件系统的整体磁盘空间使用情况。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">df [option] [file_name]</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-a</td><td align="left">--all，显示所有的文件系统，包括虚拟文件系统</td></tr>    <tr><td align="center" width=200px>-B</td><td align="left">--block-size，指定单位大小。比如1k，1m等</td></tr>    <tr><td align="center" width=200px>-h</td><td align="left">--human-readable，以易读的GB、MB、KB等格式显示</td></tr>    <tr><td align="center" width=200px>-H</td><td align="left">--si，和-h参数一样，但是不是以1024，而是1000，即1k=1000，而不是1k=1024</td></tr>    <tr><td align="center" width=200px>-i</td><td align="left">--inodes，不用硬盘容量，而是以inode的数量来显示</td></tr>    <tr><td align="center" width=200px>-k</td><td align="left">以KB的容量显示各文件系统，相当于--block-size=1k</td></tr>    <tr><td align="center" width=200px>-m</td><td align="left">以KB的容量显示各文件系统，相当于--block-size=1m</td></tr>    <tr><td align="center" width=200px>-l</td><td align="left">--local，只显示本地文件系统</td></tr>    <tr><td align="center" width=200px>--no-sync</td><td align="left">在统计使用信息之前不调用sync命令(默认)</td></tr>    <tr><td align="center" width=200px>-sync</td><td align="left">在统计使用信息之前调用sync命令</td></tr>    <tr><td align="center" width=200px>-P</td><td align="left">--portability，使用POSIX格式显示</td></tr>    <tr><td align="center" width=200px>-t</td><td align="left">--type=TYPE，只显示指定类型的文件系统</td></tr>    <tr><td align="center" width=200px>-T</td><td align="left">--print-type，显示文件系统类型</td></tr>    <tr><td align="center" width=200px>-x</td><td align="left">--exclude-type=TYPE，不显示指定类型的文件系统</td></tr>    <tr><td align="center" width=200px>--help</td><td align="left">显示帮助信息</td></tr>    <tr><td align="center" width=200px>--version</td><td align="left">显示版本信息</td></tr></table>
              </div>
            </details>

<h3 id="4-2使用实例-3"><a href="#4-2使用实例-3" class="headerlink" title="4.2使用实例"></a><font size=3>4.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ df -T</span><br><span class="line">文件系统       类型                 1K-块      已用     可用 已用% 挂载点</span><br><span class="line">udev           devtmpfs           1977176         0  1977176    0% /dev</span><br><span class="line">tmpfs          tmpfs               401592     31500   370092    8% /run</span><br><span class="line">/dev/sda1      ext4              81451752  13001104 64290036   17% /</span><br><span class="line">tmpfs          tmpfs              2007952     45200  1962752    3% /dev/shm</span><br><span class="line">tmpfs          tmpfs                 5120         4     5116    1% /run/lock</span><br><span class="line">tmpfs          tmpfs              2007952         0  2007952    0% /sys/fs/cgroup</span><br><span class="line">vmhgfs-fuse    fuse.vmhgfs-fuse 278929404 181423696 97505708   66% /mnt/hgfs</span><br><span class="line">tmpfs          tmpfs               401592        80   401512    1% /run/user/1000</span><br></pre></td></tr></table></figure>

<h2 id="5-检测目录所占磁盘空间：-du"><a href="#5-检测目录所占磁盘空间：-du" class="headerlink" title="5.检测目录所占磁盘空间： du "></a><font size=3>5.检测目录所占磁盘空间： du </font></h2><h3 id="5-1使用格式-1"><a href="#5-1使用格式-1" class="headerlink" title="5.1使用格式"></a><font size=3>5.1使用格式</font></h3><p> du  和  df  类似， du  侧重在文件夹和文件的磁盘占用方面，而  df  则侧重在文件系统级别的磁盘占用方面。一般使用格式：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">du [option][dir_or_file_name]</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=300px>-a或-all</td><td align="left">显示目录中个别文件的大小</td></tr>    <tr><td align="center" width=300px>-b或-bytes</td><td align="left">显示目录或文件大小时，以byte为单位</td></tr>    <tr><td align="center" width=300px>-c或--total</td><td align="left">除了显示个别目录或文件的大小外，同时也显示所有目录或文件的总和</td></tr>    <tr><td align="center" width=300px>-D或--dereference-args</td><td align="left">显示指定符号连接的源文件大小</td></tr>    <tr><td align="center" width=300px>-h或--human-readable</td><td align="left">以K，M，G为单位，提高信息的可读性</td></tr>    <tr><td align="center" width=300px>-H或--si</td><td align="left">与-h参数相同，但是K，M，G是以1000为换算单位</td></tr>    <tr><td align="center" width=300px>-k或--kilobytes</td><td align="left">以1024 bytes为单位</td></tr>    <tr><td align="center" width=300px>-l或--count-links</td><td align="left">重复计算硬件连接的文件</td></tr>    <tr><td align="center" width=300px>-L<符号连接>或--dereference<符号连接></td><td align="left">显示选项中所指定符号连接的源文件大小</td></tr>    <tr><td align="center" width=300px>-m或--megabytes</td><td align="left">以1MB为单位</td></tr>    <tr><td align="center" width=300px>-s或--summarize</td><td align="left">仅显示总计</td></tr>    <tr><td align="center" width=300px>-S或--separate-dirs</td><td align="left">显示个别目录的大小时，并不含其子目录的大小</td></tr>    <tr><td align="center" width=300px>-x或--one-file-xystem</td><td align="left">以一开始处理时的文件系统为准，若遇上其它不同的文件系统目录则略过</td></tr>    <tr><td align="center" width=300px>-X<文件>或--exclude-from=<文件></td><td align="left">在<文件>指定目录或文件</td></tr>    <tr><td align="center" width=300px>--exclude=<目录或文件></td><td align="left">略过指定的目录或文件</td></tr>    <tr><td align="center" width=300px>--max-depth=<目录层数></td><td align="left">超过指定层数的目录后，予以忽略</td></tr>    <tr><td align="center" width=300px>--help</td><td align="left">显示帮助</td></tr>    <tr><td align="center" width=300px>--version</td><td align="left">显示版本信息</td></tr></table>
              </div>
            </details>

<h3 id="5-2使用实例"><a href="#5-2使用实例" class="headerlink" title="5.2使用实例"></a><font size=3>5.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ du -sh 5linux/</span><br><span class="line">2.8G	5linux/</span><br></pre></td></tr></table></figure>

<h2 id="6-查看或配置网卡信息：-ifconfig"><a href="#6-查看或配置网卡信息：-ifconfig" class="headerlink" title="6.查看或配置网卡信息： ifconfig "></a><font size=3>6.查看或配置网卡信息： ifconfig </font></h2><h3 id="6-1使用格式-3"><a href="#6-1使用格式-3" class="headerlink" title="6.1使用格式"></a><font size=3>6.1使用格式</font></h3><p> ifconfig 工具不仅可以被用来简单地获取网络接口配置信息，还可以修改这些配置。但是在运行时可能会提示未安装该工具(如果之前没有安装过的话)，根据系统提示执行相应的命令进行工具安装即可。一般格式如下</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ifconfig [option1] [option2] # 但是一般就是直接 ifconfig 查看网络配置信息而已</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <p>参数特别多，但是貌似一般不怎么用。</p><table>    <tr><td align="center" width=100px rowspan="3">option1</td><td align="center" width=300px>-a</td><td align="left">显示所有接口的状态，包括那些关闭的接口</td></tr>    <tr><td align="center" width=300px>-s</td><td align="left">显示接口简短状态列表，类似于 netstat -i</td></tr>    <tr><td align="center" width=300px>-v</td><td align="left">冗余模式，遇到错误将报告错误信息</td></tr>    <tr><td align="center" width=100px rowspan="18">option2</td><td align="center" width=300px>add<地址></td><td align="left">设置网络设备IPv6的IP地址</td></tr>    <tr><td align="center" width=300px>del<地址></td><td align="left">删除网络设备IPv6的IP地址</td></tr>    <tr><td align="center" width=300px>down</td><td align="left">关闭指定的网络设备</td></tr>    <tr><td align="center" width=300px>&lt;hw<网络设备类型><硬件地址></td><td align="left">设置网络设备的类型与硬件地址</td></tr>    <tr><td align="center" width=300px>io_addr<I/O地址></td><td align="left">设置网络设备的I/O地址</td></tr>    <tr><td align="center" width=300px>irq&lt;IRQ地址&gt;</td><td align="left">设置网络设备的IRQ</td></tr>    <tr><td align="center" width=300px>media<网络媒介类型></td><td align="left">设置网络设备的媒介类型</td></tr>    <tr><td align="center" width=300px>mem_start<内存地址></td><td align="left">设置网络设备在主内存所占用的起始地址</td></tr>    <tr><td align="center" width=300px>metric<数目></td><td align="left">指定在计算数据包的转送次数时，所要加上的数目</td></tr>    <tr><td align="center" width=300px>mtu<字节></td><td align="left">设置网络设备的MTU</td></tr>    <tr><td align="center" width=300px>netmask<子网掩码></td><td align="left">设置网络设备的子网掩码</td></tr>    <tr><td align="center" width=300px>tunnel<地址></td><td align="left">建立IPv4与IPv6之间的隧道通信地址</td></tr>    <tr><td align="center" width=300px>up</td><td align="left">启动指定的网络设备</td></tr>    <tr><td align="center" width=300px>-broadcast<地址></td><td align="left">将要送往指定地址的数据包当成广播数据包来处理</td></tr>    <tr><td align="center" width=300px>-pointopoint<地址></td><td align="left">与指定地址的网络设备建立直接连线，此模式具有保密功能</td></tr>    <tr><td align="center" width=300px>-promisc</td><td align="left">关闭或启动指定网络设备的promiscuous模式</td></tr>    <tr><td align="center" width=300px>[IP地址]</td><td align="left">指定网络设备的IP地址</td></tr>    <tr><td align="center" width=300px>[网络设备]</td><td align="left">指定网络设备的名称</td></tr></table>
              </div>
            </details>

<h3 id="6-2使用实例-3"><a href="#6-2使用实例-3" class="headerlink" title="6.2使用实例"></a><font size=3>6.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ ifconfig</span><br><span class="line">ens33     Link encap:以太网  硬件地址 00:0c:29:dc:97:38  </span><br><span class="line">          inet 地址:192.168.19.140  广播:192.168.19.255  掩码:255.255.255.0</span><br><span class="line">          inet6 地址: fe80::ec18:46b3:f09b:2115/64 Scope:Link</span><br><span class="line">          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1</span><br><span class="line">          接收数据包:69723 错误:0 丢弃:0 过载:0 帧数:0</span><br><span class="line">          发送数据包:34505 错误:0 丢弃:0 过载:0 载波:0</span><br><span class="line">          碰撞:0 发送队列长度:1000 </span><br><span class="line">          接收字节:28541354 (28.5 MB)  发送字节:10261211 (10.2 MB)</span><br><span class="line"></span><br><span class="line">ens37     Link encap:以太网  硬件地址 00:0c:29:dc:97:42  </span><br><span class="line">          inet 地址:192.168.10.101  广播:192.168.10.255  掩码:255.255.255.0</span><br><span class="line">          inet6 地址: fe80::fc30:db60:f384:6805/64 Scope:Link</span><br><span class="line">          UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1</span><br><span class="line">          接收数据包:119696 错误:0 丢弃:0 过载:0 帧数:0</span><br><span class="line">          发送数据包:110068 错误:0 丢弃:0 过载:0 载波:0</span><br><span class="line">          碰撞:0 发送队列长度:1000 </span><br><span class="line">          接收字节:10082240 (10.0 MB)  发送字节:153554413 (153.5 MB)</span><br><span class="line"></span><br><span class="line">lo        Link encap:本地环回  </span><br><span class="line">          inet 地址:127.0.0.1  掩码:255.0.0.0</span><br><span class="line">          inet6 地址: ::1/128 Scope:Host</span><br><span class="line">          UP LOOPBACK RUNNING  MTU:65536  跃点数:1</span><br><span class="line">          接收数据包:27817 错误:0 丢弃:0 过载:0 帧数:0</span><br><span class="line">          发送数据包:27817 错误:0 丢弃:0 过载:0 载波:0</span><br><span class="line">          碰撞:0 发送队列长度:1000 </span><br><span class="line">          接收字节:2134713 (2.1 MB)  发送字节:2134713 (2.1 MB)</span><br></pre></td></tr></table></figure>

<h2 id="7-测试远程主机连通性：-ping"><a href="#7-测试远程主机连通性：-ping" class="headerlink" title="7.测试远程主机连通性： ping "></a><font size=3>7.测试远程主机连通性： ping </font></h2><h3 id="7-1使用格式-1"><a href="#7-1使用格式-1" class="headerlink" title="7.1使用格式"></a><font size=3>7.1使用格式</font></h3><p>执行  ping  指令会使用  ICMP  传输协议，发出要求回应的信息，若远端主机的网络功能没有问题，就会回应该信息，因而得知该主机是否运作正常。一般格式如下：</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ping [option][主机名称或IP地址] # 可以是网址，如www.baidu.com</span><br></pre></td></tr></table></figure>

<details class="folding-tag" blue><summary> 点击查看 [option] </summary>
              <div class='content'>
              <table>    <tr><td align="center" width=200px>option</td><td align="center">说明</td></tr>    <tr><td align="center" width=200px>-d</td><td align="left">使用Socket的SO_DEBUG功能</td></tr>    <tr><td align="center" width=200px>-c <完成次数></td><td align="left">设置完成要求回应的次数</td></tr>    <tr><td align="center" width=200px>-f</td><td align="left">极限检测</td></tr>    <tr><td align="center" width=200px>-i<间隔秒数></td><td align="left">指定收发信息的间隔时间</td></tr>    <tr><td align="center" width=200px>-I<网络界面></td><td align="left">使用指定的网络接口送出数据包</td></tr>    <tr><td align="center" width=200px>-l<前置载入></td><td align="left">设置在送出要求信息之前，先行发出的数据包</td></tr>    <tr><td align="center" width=200px>-n</td><td align="left">只输出数值</td></tr>    <tr><td align="center" width=200px>-p<范本样式></td><td align="left">设置填满数据包的范本样式</td></tr>    <tr><td align="center" width=200px>-q</td><td align="left">不显示指令执行过程，开头和结尾的相关信息除外</td></tr>    <tr><td align="center" width=200px>-r</td><td align="left">忽略普通的Routing Table，直接将数据包送到远端主机上</td></tr>    <tr><td align="center" width=200px>-R</td><td align="left">记录路由过程</td></tr>    <tr><td align="center" width=200px>-s<数据包大小></td><td align="left">设置数据包的大小</td></tr>    <tr><td align="center" width=200px>-t<存活数值></td><td align="left">设置存活数值TTL的大小</td></tr>    <tr><td align="center" width=200px>-v</td><td align="left">详细显示指令的执行过程</td></tr>    <tr><td align="center" width=200px>-w <秒数></td><td align="left">在 n 秒后退出</td></tr>    <tr><td align="center" width=200px>-W <秒数></td><td align="left">在等待 n 秒后开始执行</td></tr></table>
              </div>
            </details>

<h3 id="7-2使用实例-1"><a href="#7-2使用实例-1" class="headerlink" title="7.2使用实例"></a><font size=3>7.2使用实例</font></h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">hk@vm:~$ ping www.baidu.com</span><br><span class="line">PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.</span><br><span class="line">64 bytes from 36.152.44.95: icmp_seq=1 ttl=128 time=14.1 ms</span><br><span class="line">64 bytes from 36.152.44.95: icmp_seq=2 ttl=128 time=14.0 ms</span><br><span class="line">64 bytes from 36.152.44.95: icmp_seq=3 ttl=128 time=13.9 ms</span><br><span class="line">64 bytes from 36.152.44.95: icmp_seq=4 ttl=128 time=13.7 ms</span><br><span class="line">^C</span><br><span class="line">--- www.a.shifen.com ping statistics ---</span><br><span class="line">4 packets transmitted, 4 received, 0% packet loss, time 3003ms</span><br><span class="line">rtt min/avg/max/mdev = 13.738/13.973/14.148/0.182 ms</span><br><span class="line"></span><br></pre></td></tr></table></figure>

<h2 id="7-3图形字符界面切换"><a href="#7-3图形字符界面切换" class="headerlink" title="7.3图形字符界面切换"></a><font size=3>7.3图形字符界面切换</font></h2><p>我们使用的带图形界面的 Ubuntu 是可以切换到纯字符模式的。</p>
<ul>
<li>字符化界面控制终端和图形界面伪终端切换</li>
</ul>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Crtl+Alt+F3或者Ctrl+Fn+Alt+F3  # 图形界面伪终端切换到字符化界面控制终端</span><br><span class="line">Ctrl+Alt+F7或者Ctrl+Fn+Alt+F7  # 字符化界面控制终端切换到图形界面伪终端</span><br></pre></td></tr></table></figure>

<h1 id="六、软件操作"><a href="#六、软件操作" class="headerlink" title="六、软件操作"></a><font size=3>六、软件操作</font></h1><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><span class="line">sudo apt-get update           # 更新源</span><br><span class="line"></span><br><span class="line">sudo apt-get install package  # 安装包</span><br><span class="line"></span><br><span class="line">sudo apt-get remove package   # 删除包</span><br><span class="line"></span><br><span class="line">sudo apt-cache search package # 搜索软件包</span><br><span class="line"></span><br><span class="line">sudo apt-cache show package   # 获取包的相关信息，如说明、大小、版本等</span><br><span class="line"></span><br><span class="line">sudo apt-get install package --reinstall   # 重新安装包</span><br><span class="line"></span><br><span class="line">sudo apt-get -f install             # 修复安装</span><br><span class="line"></span><br><span class="line">sudo apt-get remove package --purge # 删除包，包括配置文件等</span><br><span class="line"></span><br><span class="line">sudo apt-get build-dep package      # 安装相关的编译环境</span><br><span class="line"></span><br><span class="line">sudo apt-get upgrade                # 更新已安装的包</span><br><span class="line"></span><br><span class="line">sudo apt-get dist-upgrade           # 升级系统</span><br><span class="line"></span><br><span class="line">sudo apt-cache depends package      # 了解使用该包依赖那些包</span><br><span class="line"></span><br><span class="line">sudo apt-cache rdepends package     # 查看该包被哪些包依赖</span><br><span class="line"></span><br><span class="line">sudo apt-get source package         # 下载该包的源代码</span><br><span class="line"></span><br><span class="line">sudo apt-get clean &amp;&amp; sudo apt-get autoclean # 清理无用的包</span><br><span class="line"></span><br><span class="line">sudo apt-get check                  # 检查是否有损坏的依赖</span><br></pre></td></tr></table></figure>


    </div>

    
    
    

    <footer class="post-footer">




    <div>
        
            <div style="text-align:center;color: #ccc;font-size:14px;">
            ----------本文结束
            <i class="fas fa-fan fa-spin" style="color: #FF1493; font-size: 1rem"></i>
            感谢您的阅读----------
            </div>
        
    </div>





  
  <div class="my_post_copyright"> 
    <p><span>文章标题:</span><a href="/post/fab0530e.html">LV02-01-Linux-04-常用命令</a></p>
    <p><span>文章作者:</span><a href="/" title="欢迎访问 《苏木》 的学习笔记">苏木</a></p>
    <p><span>发布时间:</span>2022年02月20日 - 18:00</p>
    <p><span>最后更新:</span>2025年06月14日 - 00:25</p>
    <p><span>原始链接:</span><a href="/post/fab0530e.html" title="LV02-01-Linux-04-常用命令">https://sumumm.github.io/post/fab0530e.html</a></p>
    <p><span>许可协议:</span><i class="fab fa-creative-commons"></i> <a rel="license" href= "https://creativecommons.org/licenses/by-nc-nd/4.0/" target="_blank" title="Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)">署名-非商业性使用-禁止演绎 4.0 国际</a> 转载请保留原文链接及作者。</p>  
  </div>
  


          <div class="post-tags">
              <a href="/tags/LV02-%E7%BC%96%E8%AF%91%E5%9F%BA%E7%A1%80/" rel="tag"><i class="fa fa-tag"></i> LV02-编译基础</a>
          </div>

        

          <div class="post-nav">
            <div class="post-nav-item">
                <a href="/post/b8367f35.html" rel="prev" title="LV02-02-shell-01-基础知识">
                  <i class="fa fa-angle-left"></i> LV02-02-shell-01-基础知识
                </a>
            </div>
            <div class="post-nav-item">
                <a href="/post/731b4aa7.html" rel="next" title="LV02-01-Linux-03-shell基础">
                  LV02-01-Linux-03-shell基础 <i class="fa fa-angle-right"></i>
                </a>
            </div>
          </div>
    </footer>
  </article>
</div>






</div>
  </main>

  <footer class="footer">
    <div class="footer-inner">

  <div class="copyright">
    &copy; 2017 – 
    <span itemprop="copyrightYear">2025</span>
    <span class="with-love">
      <i class="fa fa-heart"></i>
    </span>
    <span class="author" itemprop="copyrightHolder">苏木</span>
  </div>
<div class="wordcount">
  <span class="post-meta-item">
    <span class="post-meta-item-icon">
      <i class="fa fa-chart-line"></i>
    </span>
      <span>站点总字数：</span>
    <span title="站点总字数">3.7m</span>
  </span>
  <span class="post-meta-item">
    <span class="post-meta-item-icon">
      <i class="fa fa-coffee"></i>
    </span>
      <span>站点阅读时长 &asymp;</span>
    <span title="站点阅读时长">225:26</span>
  </span>
</div>




    <span id="sitetime"></span>
    <script defer language=javascript>
        function siteTime()
        {
            window.setTimeout("siteTime()", 1000);
            var seconds = 1000;
            var minutes = seconds * 60;
            var hours = minutes * 60;
            var days = hours * 24;
            var years = days * 365;
            var today = new Date();
            var todayYear = today.getFullYear();
            var todayMonth = today.getMonth()+1;
            var todayDate = today.getDate();
            var todayHour = today.getHours();
            var todayMinute = today.getMinutes();
            var todaySecond = today.getSeconds();
            /*==================================================
            Date.UTC() -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)
            year        - 作为date对象的年份，为4位年份值
            month       - 0-11之间的整数，做为date对象的月份
            day         - 1-31之间的整数，做为date对象的天数
            hours       - 0(午夜24点)-23之间的整数，做为date对象的小时数
            minutes     - 0-59之间的整数，做为date对象的分钟数
            seconds     - 0-59之间的整数，做为date对象的秒数
            microseconds - 0-999之间的整数，做为date对象的毫秒数
            ==================================================*/
            var t1 = Date.UTC(2017, 
                              5, 
                              19, 
                              0, 
                              0, 
                              0); //北京时间
            var t2 = Date.UTC(todayYear,todayMonth,todayDate,todayHour,todayMinute,todaySecond);
            var diff = t2-t1;
            var diffYears = Math.floor(diff/years);
            var diffDays = Math.floor((diff/days)-diffYears*365);
            var diffHours = Math.floor((diff-(diffYears*365+diffDays)*days)/hours);
            var diffMinutes = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours)/minutes);
            var diffSeconds = Math.floor((diff-(diffYears*365+diffDays)*days-diffHours*hours-diffMinutes*minutes)/seconds);
            document.getElementById("sitetime").innerHTML="已在这里 "+diffYears+" 年 "+diffDays+" 天 "+diffHours+" 小时 "+diffMinutes+" 分钟 "+diffSeconds+" 秒";
        }
        siteTime();
    </script>



    </div>
  </footer>

  
  <div class="back-to-top" role="button" aria-label="返回顶部">
    <i class="fa fa-arrow-up fa-lg"></i>
    <span>0%</span>
  </div>
  <div class="reading-progress-bar"></div>

<noscript>
  <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>


  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/next-theme-pjax/0.6.0/pjax.min.js" integrity="sha256-vxLn1tSKWD4dqbMRyv940UYw4sXgMtYcK6reefzZrao=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/5.0.28/fancybox/fancybox.umd.js" integrity="sha256-ytMJGN3toR+a84u7g7NuHm91VIR06Q41kMWDr2pq7Zo=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/lozad.js/1.16.0/lozad.min.js" integrity="sha256-mOFREFhqmHeQbXpK2lp4nA3qooVgACfh88fpJftLBbc=" crossorigin="anonymous"></script>
<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/next-boot.js"></script><script src="/js/pjax.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.4.1/search.js" integrity="sha256-1kfA5uHPf65M5cphT2dvymhkuyHPQp5A53EGZOnOLmc=" crossorigin="anonymous"></script>
<script src="/js/third-party/search/local-search.js"></script>




  <script src="/js/third-party/fancybox.js"></script>

  <script src="/js/third-party/pace.js"></script>


  




  

  <script class="next-config" data-name="enableMath" type="application/json">false</script><script class="next-config" data-name="mathjax" type="application/json">{"enable":true,"tags":"none","js":{"url":"https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js","integrity":"sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="}}</script>
<script src="/js/third-party/math/mathjax.js"></script>


 
        <div id="click-show-text"
            data-mobile = false
            data-text = 富强,民主,文明,和谐,自由,平等,公正,法制,爱国,敬业,诚信,友善
            data-fontsize = 15px
            data-random= false>
        </div>
       

      
        <script async src=https://cdn.jsdelivr.net/npm/hexo-next-mouse-effect@latest/click/showText.js></script>
      

      
    




    <script async src="/js/fancybox_param.js"></script>





<!-- APlayer本体 -->



</body>
</html>
